Socket相关程序:从Windows移植到Linux

作者: 天新网 【转载】 天新网 2009年03月24日 18:46




  socket相关程序从Windows移植到Linux下需要注意的

  1)头文件

  windows下winsock.h/winsock2.h

  linux下sys/socket.h

  错误处理:errno.h

  2)初始化

  windows下需要用WSAStartup

  linux下不需要

  3)关闭socket

  windows下closesocket(...)

  linux下close(...)

  4)类型

  windows下SOCKET

  linux下int

  如我用到的一些宏:

  #ifdef WIN32

  typedef int socklen_t;

  typedef int ssize_t;

  #endif

  #ifdef __LINUX__

  typedef int SOCKET;

  typedef unsigned char BYTE;

  typedef unsigned long DWord;

  #define FALSE 0

  #define SOCKET_ERROR (-1)

  #endif

  5)获取错误码

  windows下getlasterror()/WSAGetLastError()

  linux下errno变量

  6)设置非阻塞

  windows下ioctlsocket()

  linux下fcntl()

  7)send函数最后一个参数

  windows下一般设置为0

  linux下最好设置为MSG_NOSIGNAL,如果不设置,在发送出错后有可 能会导致程序退出。

  8)毫秒级时间获取

  windows下GetTickCount()

  linux下gettimeofday()

  多线程

  多线程: (win)process.h --〉(linux)pthread.h

  _beginthread --> pthread_create

  _endthread --> pthread_exit

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值