Symbian sockets 基本介绍
2010-05-31 20:15:00 来源:WEB开发网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位数字地址,或者使用十分十分冗长难记的地址去给其他人发电子邮件。
这里我们需要注意的重要一点是,实际上地址转换这项工作并不是客户端设备进行的,而是待转换地址被发送到了另外一台主机,由另外一台主机进行的解析。所以我们在建立一个使用TPC/IP协议建立连接的时候,就必须提供一个DNS服务器地址,否则一切连接将几乎无法进行。
在socket代码中使用活动对象(active objects)
计算机网络通信,在一般情况下都是使用异步操作的。下面我们先放下谈论已久的socket通信系统,来看看一个打电话过程是如何进行的,这样会有助于我们理解下面要讨论的问题。
当一个朋友给你打电话,你的电话机会收到电话打入的电信号,它在收到这个信号后就开始振铃,然后你听到了铃声之后就拿起听筒,开始进行通话,直到挂断电话此次通话结束。
更多精彩
赞助商链接