Winidow与sLinux网络编程区别.doc_第1页
Winidow与sLinux网络编程区别.doc_第2页
Winidow与sLinux网络编程区别.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

简单分析Windows下与Linux下编写socket程序的区别Windows下与Linux下编写socket程序的区别 【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: 错误捕捉】#includeextern int errno;int geterror()return errno;【Linux: 异常处理】当连接断开,还发数据的时候,不仅send()的返回值会有反映,而且还会像系统发送一个异常消息,如果不作处理,系统会出BrokePipe,程序会退出。为此,send()函数的最后一个参数可以设MSG_NOSIGNAL,禁止send()函数向系统发送异常消息本文来自联城技术网(http:/te

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论