Symbian OS sockets API
2010-07-22 01:42:00 来源:WEB开发网简介
通过这篇文章我们想为大家带来一些Symbian操作系统的有关sockets API的基本介绍。 本文的读者应该是希望在他们的应用程序中增添socket通信功能的Symbian操作系统的开发者,本文不仅提供了理论介绍,同样给出了可供实践参考的代码范例。
本文包含的内容有:
概括介绍了有关socket通信的有关组件。
概括介绍了socket服务架构以及使用两个主要API类RSocketServ和RSocket的使用。
讨论了创建两个终端之间进行通信的过程。
讨论了socket之间通信的不同模式:基于一串数据流的模式以及基于离散消息的模式。
一个如何使用活动对象来进行socket连接的实践范例。
有关Socket的服务构架
本文的一个内容是介绍给大家如何将基于Socket服务的通信功能加入到应用程序中来。尽管如此,计算机通信系统乃是一个十分复杂的系统,本文介绍的基于socket服务的通信仍然是在一个相对比较高级的层次,没有深入底层探讨的话题和技术。要想让socket服务来发挥作用,许多底层支持软件将是必须的。
下图说明了socket服务组件在Symbian系统的通信子系统中的哪一层位置,扮演如何一个角色。
Symbian OS通信系统组件
首先我们来考虑传输层协议。上图的Internet互联网协议和红外协议,从Symbian 6.0之后支持的蓝牙®无线通讯技术以及都在这一层中。
当我们谈到Internet协议时,我们其实包括了一个隐式的依赖动作,那就是向ISP(互联网服务提供商)进行拨号连接。因此,如图所示我们可以看到Symbian系统提供了拨号网络接入组件。而在本图中,最重要的的系统组件是电话通信服务组件。
最终,我们需要设计到一个硬件设备,有了硬件我们才可以在选定的网络环境中接收和发送数据。上图的核心部分就是使用Internet协议的拨号接入网络,并且显示了串行通信组件在整个通信系统扮演了如何的角色。串行通信服务组件通过特定的硬件设备驱动,完成了硬件设备与它周围环境的通信。
什么是socket?
那么什么是socket呢? 用一句引自伯克利(Berkeley)UNIX关于socket实现的经典定义来回答就是“socket就是通信终端”。
那究竟是什么意思呢?
一个socket代表了一条通信‘通道’逻辑上的终端。而实际上讲,socket是物理网络地址和逻辑端口号的一个集合,而这个集合可以向另外一个位置的与他具有相同定义的socket进行数据传输。
更多精彩
赞助商链接