首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

2.3.1 头文件

Sockets API和Winsock之间的主要区别是它们所要求访问API的头文件有所不同。

在这一点上Winsock相对容易一些,它只需要在两个文件中进行操作:

#include "winsock.h"

#include "ws2tcpip.h"

在UNIX操作系统上,Sockets API分布于很多不同的头文件中,因此事情就变得更加复杂。表2.1列出了文件名及其内容。

表2.1 Sockets API头文件

文    件

内    容

sys/types.h

所有需要的基本类型

sys/socket.h

所有套接字数据结构

netinet/in.h

IPv4和IPv6所需要的全部函数

unistd.h

查找本地机器名所需要的gethostname()函数

netdb.h

所有需要的DNS函数

arpa/inet.h

以inet_打头的所有函数

errno.h

所有的错误处理信息

fcntl.h

所有的文件控制信息

暂时不理解其中的某些内容,也不必担心,会慢慢地全部讲给大家听的。

注意:文件winsock.h包含Winsock版本1的头信息。较新的Winsock版本Winsock 2添加了许多新的网络特性,但是,遗憾的是,它们只适用于Windows系统。Winsock 2的头文件是winsock2.h。但是,使用哪个头文件并没有什么实际意义,仍然使用原来的Sockets API即可,因为Winsock 2完全向后兼容。事实上,使用原来的Sockets API甚至比使用Winsock 2可能还好(Windows 95之后的几乎每个微软的操作系统都内置了Winsock 2),因为在旧版本中对实现进行了优化处理。只要确保在项目中包含相同的版本库文件即可。更多的信息请参见附录A(在光盘中可以找到)。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论