- 1、本文档共78页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
十二Comms和消息传送.ppt
第十二章
Comms和消息传送 ;完成本章内容之后我们将能够:
掌握Symbian OS 的通讯架构
了解多媒体短信业务(MMS); ;概述;概述;概述;概述;概述;OS Comms架构; 尽管框架通常具有服务器本身之外的其他要素,如实用工具类的库,但提到整个框架时,通常还是简称为服务器。某些情况下,API使得客户端/服务器架构的运用变得显而易见。例如,使用电话功能时,基本的任务就是创建一个
RTelServer对象,它提供与电话服务器的初始连接(Symbian OS约定就是和RTelServer类似的API类,它用于访问以‘R’开头的服务器)。如消息等其他API,提供广泛的客户端类,从客户程序中隐藏了客户端/服务器接口的直接使用。; 核心服务器如下:
套接字:利用TCP/IP等协议,提供可寻址端点之间的通信。自Symbian OS的第一版起,即成为它的一部分,7.0增加了一个新的API,用于创建和管理连接。
串行comms:提供简单串行连接之上的通信,如用于处理RS232。
消息传送:利用因特网电于邮件和SMS这类协议,提供消息的发送、检索和存储。
电话:提供电话呼叫及服务的控制,以及对电话功能配置的控制。
;套接字
套接字的概念首次出现于加州大学伯克利分校的Unix伯克利软件发行中心(BSD),它是以C语言写的一个API。自此之后,套接字常见于很多操作系统和语言中。 套接字代表一个通信“信道”的逻辑端点。它是物理机器的网络地址和逻辑端口号的组合,另一个套接字可以给它传输数据。 因为套接字由机器地址和端口号确定,所以在一个特定的计算机网络中,每个套接字是惟一标识的。这就允许应用程序惟一地识别网络中与其通信的另一位置。; 套接字通常用于在运行因特网协议(IP)的网络上进行通信。这时机器地址就是一个IP地址,端口将指定一些因特网应用程序,如Web或FTP。
与其他操作系统的套接字相比,Symbian OS实现的套接字有两个主要不同:
套接字可用于访问多种协议,而不仅访问TCP/IP。其中包括蓝牙协议L2CAP和 RFCOMM,以及红外线协议IrDA、IrTinyTP和IrMUX。
API用C++编写,与传统的BSD C API不同。如果考虑必须使用C API,例如向其他操作系统移植代码时,可以考虑Symbian OS的C标准库(STDLIB)实现中可使用的C API。 ; 用于套接字的Symbian OS C++ API是套接字客户API,发布在头文件es_sock.h和库文件esock.dll中。与套接字服务器的客户接口由RSocketServ提供,套接字本身由RSocket封
装。套接字的客户API异步调用套接字服务器,它协调客户端访问套接字服务,并管理与协议模块的通信,这些协议模块提供了对特定网络协议的支持。协议模块是插件DLL,服务器根据需要进行加载和卸载。; 除与套接字连接,并读写数据外,API还提供了对其他工具的访问:
主机名解析(RHostResolver):一些网络类型能够在适合于给最终用户显示的符号主机地址与协议内部使用的数字地址之间转换。在TCP/IP中,主机名解析服务就是域名服务(DNS)。对于蓝牙和红外线,解析接口可用于发现其他哪些设备在范围内,并可使用这些协议进行通信。通过RHostResolver对象产生的查询打包在TNameEntry描述符中,它保存了包含主机名和地址的TNameRecord对象。 ;协议信息(TProtocolDesc):可以查询手机上支持哪些套接字协议,并可以得到每个协议的信息,比如协议名称和用于表明其性能的标志。
套接字API还提供了下述功能,它们可能用得比较少:
网络数据库访问(RNetDatabase):用于访问关于设备的数据库。对于红外线,存在IrDA信息访问服务(IAS)这种服务。它与TCP/IP或蓝牙没有关联。
服务解析(RServiceResolver):用于查询远程设备的性能,也就是说,该设备在相应的协议上可以提供什么服务。它不是为了TCP/IP、蓝牙或红外线而实现的。蓝牙标准中有—种服务,即蓝牙业务搜寻协议(SDP),但是Symbian OS蓝牙设备没有为此使用套接字API,因为它有自己专门的SDP API。 ; 在Symbian OS V7.0s以前的版本中,如何构建网络连接以实现套接字请求,套接字客户API的调用者不必关心。
连接是隐式建立的,举例如下。
例如,应用程序请求与某个远程地址的TCP套接字。与管理网络接口(NIFMAN)相关的Symbian OS组件检查没有已存在的网络连接。它就读取通信设置项数据库(CommDb),
了解怎样建立连接。例如,设置项可以指定
文档评论(0)