设为首页 加入收藏

TOP

Windows Sockets 1.1编程(十三)
2010-12-30 20:55:25 来源: 作者: 【 】 浏览:14100
Tags:Windows Sockets 1.1 编程
;   
有一些很有限的地方,Windows Sockets API必须与从严格地坚持Berkeley传统风格中解放出来。通常这么做是因为在Windows环境中实现的难度。

 

2.6.1 套接口数据类型和错误数值

       Windows Sockets规范中定义了一个新的数据类型SOCKET,这一类型的定义对于将来Windows Sockets规范的升级是必要的。例如在Windows NT中把套接口作为文件句柄来使用。这一类型的定义也保证了应用程序向Win/32环境的可移植性。因为这一类型会自动地从16位升级到32位。

       UNIX中所有句柄包括套接口句柄,都是非负的短整数,而且一些应用程序把这一假设视为真理。Windows Sockets句柄则没有这一限制,除了INVALID_SOCKET不是一个有效的套接口外,套接口可以取从0INVALID_SOCKET-1之间的任意值。

因为SOCKET类型是unsigned,所以编译已经存在于UNIX环境中的应用程序的源代码可能会导致signed/unsigned数据类型不匹配的警告。

       这还意味着,在socket()例程和accept()例程返回时,检查是否有错误发生就不应该再使用把返回值和-1比较的方法,或判断返回值是否为负(这两种方法在BSD中都是很普通,很合法的途径)。取而代之的是,一个应用程序应该使用常量INVALID_SOCKET,该常量已在WINSOCK.H中定义。

       例如:

                典型的BSD风格:

                s = socket(...);

首页 上一页 10 11 12 13 14 15 16 下一页 尾页 13/20/20
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Windows Sockets 1.1应用实例 下一篇没有了

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: