| 网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 |
![]() |
| Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道 |
socket相关程序从windows移植到linux下需要注意的
网管论坛bbs_bitsCN_com
1)头文件
windows下winsock.h/winsock2.h 网管bitscn_com
linux下sys/socket.h 网管论坛bbs_bitsCN_com
错误处理:errno.h
网管网www_bitscn_com
2)初始化 中国网管联盟bitsCN.com
windows下需要用WSAStartup 网管论坛bbs_bitsCN_com
linux下不需要
3)关闭socket 网管论坛bbs_bitsCN_com
windows下closesocket(……) 网管联盟bitsCN@com
linux下close(……)
中国网管论坛bbs.bitsCN.com
4)类型 中国网管联盟bitsCN.com
windows下SOCKET 网管联盟bitsCN_com
linux下int 网管网www.bitscn.com
如我用到的一些宏:
网管u家u.bitscn@com
#ifdef WIN32 网管u家u.bitscn@com
typedef int socklen_t; 网管下载dl.bitscn.com
typedef int ssize_t;
#endif 网管联盟bitsCN@com
#ifdef __LINUX__ 网管联盟bitsCN@com
typedef int SOCKET;
网管联盟bitsCN_com
typedef unsigned char BYTE;
typedef unsigned long DWORD; 网管u家u.bitsCN.com
#define FALSE 0
网管下载dl.bitscn.com
#define SOCKET_ERROR (-1)
#endif
5)获取错误码 网管u家u.bitscn@com
windows下getlasterror()/WSAGetLastError() 网管联盟bitsCN@com
linux下errno变量
6)设置非阻塞
网管u家u.bitscn@com
windows下ioctlsocket()
网管下载dl.bitscn.com
linux下fcntl()
7)send函数最后一个参数 网管联盟bitsCN@com
windows下一般设置为0
linux下最好设置为MSG_NOSIGNAL,如果不设置,在发送出错后有可 能会导致程序退出。 网管u家u.bitscn@com
8)毫秒级时间获取
网管下载dl.bitscn.com
windows下GetTickCount() 网管下载dl.bitscn.com
linux下gettimeofday() 网管网www.bitscn.com
多线程
网管联盟bitsCN_com
多线程: (win)process.h ——〉(linux)pthread.h 中国网管联盟bitsCN.com
_beginthread ——> pthread_create
_endthread ——> pthread_exit 网管联盟bitsCN@com
|
0
|
评论加载中…