WEB开发网
开发学院手机开发Symbian 开发 Symbian 网络编程API收藏 阅读

Symbian 网络编程API收藏

 2010-09-06 08:09:00 来源:WEB开发网   
核心提示:RHostResolver接口提供了如下几种功能供客户端应用程序访问,他们是:将一个数字网络地址转换为人所能识别的包含一定意义的文本表现形式将人读地址转换为相对应的机读数字地址读取或者设置本地设备的主机名的方法/函数就像是RSocket一样,Symbian 网络编程API收藏(7),RHostResolver类继承自R

RHostResolver接口提供了如下几种功能供客户端应用程序访问,他们是:

将一个数字网络地址转换为人所能识别的包含一定意义的文本表现形式

将人读地址转换为相对应的机读数字地址

读取或者设置本地设备的主机名的方法/函数

就像是RSocket一样,RHostResolver类继承自RSubSessionBase。因此,要想使用RHostResolver类,客户端应用程序就必须先进行对socket服务组件的服务器的连接,这个服务组件的服务器就是一个RSocketServ类的实例。

RHostResolver类提供了许多主机地址解析服务的函数/方法,每一个函数都提供了两个版本的多态函数--同步和异步操作。

请注意,因为这是一个通用的主机地址解析接口,但是并不是所有的协议都提供了主机地址解析服务,所以有些协议可能并没有提供任何主机地址解析服务。

如果客户端应用程序尝试使用RHostResolver中的函数去对一个不支持主机地址解析服务的协议请求主机地址解析服务,那么将会得到错误代码KErrNotSupported。

在进行任何主机地址解析服务之前,我们要打开一个RHostResolver类的实例。正如前面所提到过的,因为主机解析服务类是一个子会话类,所以在调用RHostResolver::Open()函数之前,该子会话类必须关联一个socket服务组件的服务器会话对象实例。

TInt Open(RSocketServ& aSocketServer, TUint anAddrFamily,

TUint aProtocol);

下一步,我们将会根据上面所示的函数原形,制定我们希望用哪个地址类型来解析的主机地址,地址类型应该是和传递给RSocket::Open()函数的参数一致的。

最后,我们还需要指定一个协议来进行主机地址解析服务。如果之前选择的地址类型是协议无关类型的,那么我们可以在这里指定KUndefinedProtocol。

其他的RHostResolver类提供的函数如下所示:

TInt GetByName(const TDesC& aName, TNameEntry& aResult);

TInt GetByAddress(const TSockAddr& anAddr, TNameEntry& aResult);

TInt GetHostName(TDes& aName);

TInt SetHostName(const TDesC& aName); // sync only

TInt Next(TNameEntry& aResult);

这些函数中的大多数都是可以见名知意的;不过Next()函数例外,我们来进行一些解释:对于有些协议来说,GetByName()和

上一页  2 3 4 5 6 7 8 9 10 11 12  下一页

Tags:Symbian 网络编程 API

编辑录入:coldstar [复制链接] [打 印]
赞助商链接