Symbian socket 网络编程方法
2010-03-18 20:59:00 来源:WEB开发网地址解析服务的用处有两个。首先,它可以让计算机网络(在本例中指的是Internet)的用户可以使用一个直接的、有意义的、人们可以理解并且可以记住的的地址来指向某一个网络资源。也许你曾经见过这样的网络地址 212.134.93.203、204.71.202.160,但是一般情况下也许你并不会使用这样的数字地址去访问网络,一般情况下你更多使用的是例如www.symbian.com或者www.yahoo.com这样的地址。
其次,这种将网络物理地址和用户记忆的网络资源地址进行分割的服务,达到了网络硬件层进行升级或者替换的情况下并不会影响到用户访问的目的。这种机制也从另外一种情况下帮助了大的网络服务提供商,比如微软公司的Hotmail服务,使这些运营商可以在世界各地部署本地服务器,从而让每一个用户获得更快的访问速度,无论用户是在西雅图或者别的任何地方。
使用RHostResolver类
作为客户端API的一部分,socket服务组件提供了RHostResolver类,用这个类我们可以获得一个通用的主机地址解析服务,这项服务的内部会自己处理相应不同协议的主机地址解析的细节问题。如果我们针对TCP/IP协议族而言,那么RHostResolver类扮演的就是客户端与域名解析服务(DNS)之间进行通信的服务角色。
每一个不同的协议,都提供了自己的主机解析服务,这些服务是作为协议模块的一个标准部分实现的。这样的设计就使得客户端可以仅仅访问RHostResolver类,而并不需要关心socket使用的是哪一种协议。
RHostResolver 接口提供了如下几种功能供客户端应用程序访问,他们是:
将一个数字网络地址转换为人所能识别的包含一定意义的文本表现形式
将人读地址转换为相对应的机读数字地址
读取或者设置本地设备的主机名的方法/函数
就像是RSocket一样,RHostResolver类继承自RSubSessionBase。因此,要想使用RHostResolver类,客户端应用程序就必须先进行对socket服务组件的服务器的连接,这个服务组件的服务器就是一个RSocketServ类的实例。
RHostResolver类提供了许多主机地址解析服务的函数/方法,每一个函数都提供了两个版本的多态函数--同步和异步操作。
请注意,因为这是一个通用的主机地址解析接口,但是并不是所有的协议都提供了主机地址解析服务,所以有些协议可能并没有提供任何主机地址解析服务。
如果客户端应用程序尝试使用 RHostResolver中的函数去对一个不支持主机地址解析服务的协议请求主机地址解析服务,那么将会得到错误代码
更多精彩
赞助商链接