织梦CMS - 轻松建站从此开始!

罗索

Windows下与Linux下编写socket程序的区别

jackyhwei 发布于 2010-10-14 13:39 点击:次 
Windows下与Linux下编写socket程序的区别
TAG:

【【Windows】】

        【Windows: 头文件的区别】        #include        #include

        【Windows: 初始化的区别】        WSADATA wsaData;        WSAStartup(0x202,&wsaData);

        【Windows: 声明Socket】        SOCKET类型

        【Windows: Socket关闭】        closesocket()

        【Windows: Socket操作错误返回值】        SOCKET_ERROR

        【Windows: 设置socket非阻塞】        ioctlsocket(server_socket,FIONBIO,&ul);

        【Windows: WSA宏】        WSA相关的操作

        【Windows: Select()函数】        Select()函数的第一个参数无效,写0就可以了。

        【Windows: 编译连接】        Ws2_32.lib

        【Windows: 错误捕捉】        WSAGetLastError()

        【Windows: 异常处理】        没有对send()的异常处理,最后一个参数无效,写0就可以了。

================================================

        【【Linux】】

        【Linux: 头文件的区别】        #include        #include        #include        #include        #include        #include

        【Linux: 初始化的区别】        Do nothing.

        【Linux: 声明Socket】        SOCKET类型在Linux中没有定义,直接用int即可。

        【Linux: Socket关闭】        close()

        【Linux: Socket操作错误返回值】        在Linux中没有定义,判断socket操作是否成功可用返回值是否为-1即可,可将SOCKET_ERROR声明为-1。

        【Linux: 设置socket非阻塞】        ioctlsocket在Linux中没有定义,用fcntl替代即可,但要包含fcntl.h头文件。        #include        ... ...        fcntl(server_socket,F_SETFL, O_NONBLOCK);

        【Linux: WSA宏】        WSA相关的操作在Linux不必要,直接去掉即可。

        【Linux: Select()函数】        Select()函数的第一个参数必须是后几个参数用到的socket中,值最大的数(整型)加1。

        【Linux: 编译连接】        连接是使用参数:-lstdc        运行时需要libstdc .so.5,可在/usr/lib目录中创建一个链接。

        【Linux: 错误捕捉】        #include        extern int errno;        int geterror(){return errno;}

        【Linux: 异常处理】        当连接断开,还发数据的时候,不仅send()的返回值会有反映,而且还会像系统发送一个异常消息,如果不作处理,系统会出BrokePipe,程序会退出。为此,send()函数的最后一个参数可以设MSG_NOSIGNAL,禁止send()函数向系统发送异常消息。


出处:http://blog.csdn.net/zdragon2002/archive/2009/04/22/4100455.aspx

(zdragon2002)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201010/10302.html]
本文出处:CSDN博客 作者:zdragon2002
顶一下
(2)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容