Windows和Linux下的网络编程方法的异同

loading 分享 2026-7-18 下载文档

Windows和Linux下的网络编程方法有哪些异同? 相同之处:

Linux和Windows都支持多种网络协议,比如TCP/IP、NetBIOS和IPX。都支持多种类型的网络适配器。都具备通过网络共享资源的能力,比如共享文件和打印。都可以提供网络服务能力,比如 DHCP 和 DNS。 不同之处:

1、头文件: #include or #include #include 添加#program comment(lib,\默认windows.h文件会包含winsock.h,当你包含winsock2.h就会冲突。要解决这个问题,需要首先包含winsock2.h,然后再包括windows.h,要注意包含的顺序。

2、socket初始化与关闭:Windows需要 WSAStartup(),closesocket(...)函数Linux不需要初始化,结束socket用close(...) 3、类型声明: SOCKET int

在Windows里将SOCKET宏定义成unsigned int 4、错误返回码:

windows下getlasterror()/WSAGetLastError()/SOCKET_ERROR linux下errno变量 SOCKET_ERROR=-1

5、设置非阻塞:

ioctlsocket(server_socket,FIONBIO,&ul);

ioctlsocket在Linux中没有定义,用fcntl替代即可,但要包含fcntl.h头文件。 #include

fcntl(server_socket,F_SETFL, O_NONBLOCK); 6、send函数最后一个参数: windows下一般设置为0

linux下最好设置为MSG_NOSIGNAL,禁止send()函数向系统发送异常消息。如果不设置,

在发送出错后有可能会导致程序退出。


Windows和Linux下的网络编程方法的异同.doc 将本文的Word文档下载到电脑
搜索更多关于: Windows和Linux下的网络编程方法的异同 的文档
相关推荐
相关阅读