久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

Socket相關(guān)程序:從Windows移植到Linux

瀏覽:3日期:2024-01-29 14:37:51

socket相關(guān)程序從windows移植到linux下需要注意的

1)頭文件

windows下winsock.h/winsock2.h

linux下sys/socket.h

錯(cuò)誤處理:errno.h

2)初始化

windows下需要用WSAStartup

linux下不需要

3)關(guān)閉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)獲取錯(cuò)誤碼

windows下getlasterror()/WSAGetLastError()

linux下errno變量

6)設(shè)置非阻塞

windows下ioctlsocket()

linux下fcntl()

7)send函數(shù)最后一個(gè)參數(shù)

windows下一般設(shè)置為0

linux下最好設(shè)置為MSG_NOSIGNAL,如果不設(shè)置,在發(fā)送出錯(cuò)后有可 能會(huì)導(dǎo)致程序退出。

8)毫秒級時(shí)間獲取

windows下GetTickCount()

linux下gettimeofday()

多線程

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

_beginthread --> pthread_create

_endthread --> pthread_exit

標(biāo)簽: Windows系統(tǒng)
相關(guān)文章:
主站蜘蛛池模板: 宜兰市| 万全县| 广东省| 体育| 柳林县| 泽库县| 鄯善县| 大港区| 宣武区| 沁源县| 文成县| 林甸县| 霍山县| 新建县| 岳西县| 通辽市| 肃北| 武功县| 桂东县| 和林格尔县| 山东省| 广西| 博白县| 辉南县| 长沙市| 雅安市| 怀宁县| 武宣县| 凉山| 汪清县| 芜湖市| 紫金县| 定襄县| 南开区| 吉林省| 泽州县| 抚顺县| 任丘市| 莫力| 前郭尔| 仁怀市|