WEB开发网
开发学院手机开发Symbian 开发 Symbian socket 网络编程方法 阅读

Symbian socket 网络编程方法

 2010-03-18 20:59:00 来源:WEB开发网   
核心提示:KErrNotSupported,在进行任何主机地址解析服务之前,Symbian socket 网络编程方法(8),我们要打开一个RHostResolver类的实例,正如前面所提到过的,那么使用互联网对于普通用户来说将是一场灾难,如果没有DNS的话我们将不得不记住我们感兴趣的web站点的32位数字地址,因为主机解析服务
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()和GetByAddress()函数可能会一次找到不止一个结果,比如地址假名被允许的时候。如果这样的话,我们就需要调用Next()函数来返回下一个地址结果。

域名服务(DNS)

域名解析服务(Domain Name Service,DNS)是TCP/IP协议所提供的主机解析服务。

一个标准的DNS查询一般由以下三个步骤组成:

一个在某一个网络硬件设备(例如一块以太网卡)设备上运行的客户端应用程序,将自己的查询主机请求发送给网络上的另外一台主机--DNS服务器。

DNS服务器将查询请求进行查询,查询是在庞大的数字地址与主机名称对应列表中进行的,查询到的结果将会被转换成不同的地址格式。

DNS服务器将地址发送回客户端。

请注意,DNS服务可以将文本格式的地址(例如www.symbian.com)解析为数值格式地址(例如 212.134.93.203),或者将数值地址(204.71.202.160)解析为文本格式的地址——www.yahoo.com。

互联网服务提供商一般都提供了很多DNS服务器(一般都不只一台)来供他们的客户使用。如果没有这些服务器,那么使用互联网对于普通用户来说将是一场灾难。如果没有DNS的话我们将不得不记住我们感兴趣的web站点的32位数字地址,或者使用十分十分冗长难记的地址去给其他人发电子邮件。

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

Tags:Symbian socket 网络编程

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