使用Socket API.docVIP

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用Socket API 翻译说明 本文翻译自英文Wiki部分的Using the sockets API,因为原文较长,所以我将一部分一部分地翻译,同时欢迎大家帮助我一起完成这个任务,并且对我已经翻译的内容作修改和指正。 Contents ?[hide] 1?简介 2?有关Socket的服务构架 2.1?什么是socket? 2.2?协议模块 2.3?传输的独立性 2.4?“客户端-服务器”接口 3?sockets服务器的主要类 4?使用RSocketServ类 4.1?建立一个连接到sockets服务的会话 4.2?预载入协议模块 5?使用RSocket类 6?主机解析服务 6.1?什么是主机解析? 6.2?使用RHostResolver类 6.3?域名服务(DNS) 7?在socket代码中使用活动对象(active objects) 8?代码示例: 连接sockets 8.1?服务‘监听’类的定义 8.2?做好接收客户端连接的准备 8.3?处理连接请求 8.4?使用有连接的socket 9?传输数据 9.1?接收数据 9.1.1?使用无连接的sockets 9.1.2?使用连接的sockets 9.2?发送数据 9.2.1?使用未连接的sockets 9.2.2?使用连接的sockets 10?总结 [edit]简介 通过这篇文章我们想为大家带来一些Symbian操作系统的有关sockets API的基本介绍。 本文的读者应该是希望在他们的应用程序中增添socket通信功能的Symbian操作系统的开发者,本文不仅提供了理论介绍,同样给出了可供实践参考的代码范例。 本文包含的内容有: 概括介绍了有关socket通信的有关组件。 概括介绍了socket服务架构以及使用两个主要API类RSocketServ和RSocket的使用。 讨论了创建两个终端之间进行通信的过程。 讨论了socket之间通信的不同模式:基于一串数据流的模式以及基于离散消息的模式。 一个如何使用活动对象来进行socket连接的实践范例。 [edit]有关Socket的服务构架 本文的一个内容是介绍给大家如何将基于Socket服务的通信功能加入到应用程序中来。尽管如此,计算机通信系统乃是一个十分复杂的系统,本文介绍的基于socket服务的通信仍然是在一个相对比较高级的层次,没有深入底层探讨的话题和技术。要想让socket服务来发挥作用,许多底层支持软件将是必须的。 下图说明了socket服务组件在Symbian系统的通信子系统中的哪一层位置,扮演如何一个角色。 Symbian OS通信系统组件 首先我们来考虑传输层协议。上图的Internet互联网协议和红外协议,从Symbian 6.0之后支持的蓝牙?无线通讯技术都在这一层中。 当我们谈到Internet协议时,我们其实包括了一个隐式的依赖动作,那就是向ISP(互联网服务提供商)进行拨号连接。因此,如图所示我们可以看到Symbian系统提供了拨号网络接入组件。而在本图中,最重要的的系统组件是电话通信服务组件。 最终,我们需要涉及到一个硬件设备,有了硬件我们才可以在选定的网络环境中接收和发送数据。上图的核心部分就是使用Internet协议的拨号接入网络,并且显示了串行通信组件在整个通信系统扮演了如何的角色。串行通信服务组件通过特定的硬件设备驱动,完成了硬件设备与它周围环境的通信。 [edit]什么是socket? 那么什么是socket呢? 用一句引自伯克利(Berkeley)UNIX关于socket实现的经典定义来回答就是“socket就是通信终端”。 那究竟是什么意思呢? 一个socket代表了一条通信‘通道’逻辑上的终端。而实际上讲,socket是物理网络地址和逻辑端口号的一个集合,而这个集合可以向另外一个位置的与他具有相同定义的socket进行数据传输。 因为socket是由机器地址和端口号来区分/识别的,那么在一个特定的计算机网络上,每一个socket都是以此方式被唯一识别的。这就使得应用程序可以唯一地去定位网络上的另外一个位置的socket。 注意:对于同一台机器上的两个socket,他们是完全具备彼此间进行通信的可能的;在这种情况下,两个socket具有相同的主机地址,但是他们拥有不同的端口号。 主机地址和端口号的组合,对于不同协议是不同的。在socket的经典应用中,网络通信使用的是IP(Internet Protocol)协议,但是实际上socket是支持很多其它协议的,对于这方面的信息稍后会提到。 正如我们将会看到的,不管我们选择怎样的通信协议(传输层),我们都可以使用同一种已成熟的socket API来实现通信。 [edit]协议模块 如上文所述,socket的经典应用是在TCP/

文档评论(0)

803322fw + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档