青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

chaosuper85

C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
  118 Posts :: 0 Stories :: 3 Comments :: 0 Trackbacks
Socket 編程 windows到Linux代碼移植遇到的問題 1、一些常用函數(shù)的移植 http://www.vckbase.com/document/viewdoc/?id=1586 2、網(wǎng)絡(luò) ------ 轉(zhuǎn)載 & 修改(待整理) socket相關(guān)程序從windows移植到linux下需要注意的 1)頭文件 windows下winsock.h/winsock2.h linux下sys/socket.h 錯誤處理: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)獲取錯誤碼 windows下getlasterror()/WSAGetLastError() linux下errno變量 6)設(shè)置非阻塞 windows下ioctlsocket() linux下fcntl() 7)send函數(shù)最后一個參數(shù) windows下一般設(shè)置為0 linux下最好設(shè)置為MSG_NOSIGNAL,如果不設(shè)置,在發(fā)送出錯后有可 能會導(dǎo)致程序退出。 8)毫秒級時間獲取 windows下GetTickCount() linux下gettimeofday() 3、多線程 多線程: (win)process.h --〉(linux)pthread.h _beginthread --> pthread_create _endthread --> pthread_exit



關(guān)于這個話題網(wǎng)上流傳的是一個相同的版本,就是那個第一項(xiàng)是頭文件的區(qū)別,但后面列出的頭文件只有#include沒有(估計是原版的在不斷轉(zhuǎn)載的過程中有人不小心忘了把尖括號轉(zhuǎn)義,讓瀏覽器當(dāng)html標(biāo)記解析沒了)的那個。現(xiàn)在整理了一下,以后也會不斷補(bǔ)充內(nèi)容。 1)頭文件 windows下winsock.h或winsock2.h linux下netinet/in.h(大部分都在這兒),unistd.h(close函數(shù)在這兒),sys/socket.h(在in.h里已經(jīng)包含了,可以省了) 2)初始化 windows下需要用WSAStartup啟動Ws2_32.lib,并且要用#pragma comment(lib,"Ws2_32")來告知編譯器鏈接該lib。 linux下不需要 3)關(guān)閉socket windows下closesocket(...) linux下close(...) 4)類型 windows下SOCKET linux下int(我喜歡用long,這樣保證是4byte,因?yàn)?1我總喜歡寫成0xFFFF) 5)獲取錯誤碼 windows下getlasterror()/WSAGetLastError() linux下,未能成功執(zhí)行的socket操作會返回-1;如果包含了errno.h,就會設(shè)置errno變量 6)設(shè)置非阻塞 windows下ioctlsocket() linux下fcntl(),需要頭文件fcntl.h 7)send函數(shù)最后一個參數(shù) windows下一般設(shè)置為0 linux下最好設(shè)置為MSG_NOSIGNAL,如果不設(shè)置,在發(fā)送出錯后有可能會導(dǎo)致程序退出 8)毫秒級時間獲取 windows下GetTickCount() linux下gettimeofday() 9)多線程 windows下包含process.h,使用_beginthread和_endthread linux下包含pthread.h,使用pthread_create和pthread_exit 10)用IP定義一個地址(sockaddr_in的結(jié)構(gòu)的區(qū)別) windows下addr_var.sin_addr.S_un.S_addr linux下addr_var.sin_addr.s_addr 而且Winsock里最后那個32bit的S_addr也有幾個以聯(lián)合(Union)的形式與它共享內(nèi)存空間的成員變量(便于以其他方式賦值),而Linux的Socket沒有這個聯(lián)合,就是一個32bit的s_addr。遇到那種得到了是4個char的IP的形式(比如127一個,0一個,0一個和1一個共四個char),WinSock可以直接用4個S_b來賦值到S_addr里,而在Linux下,可以用邊向左移位(一下8bit,共四下)邊相加的方法賦值。 11)異常處理 linux下當(dāng)連接斷開,還發(fā)數(shù)據(jù)的時候,不僅send()的返回值會有反映,而且還會像系統(tǒng)發(fā)送一個異常消息,如果不作處理,系統(tǒng)會出BrokePipe,程序會退出。為此,send()函數(shù)的最后一個參數(shù)可以設(shè)MSG_NOSIGNAL,禁止send()函數(shù)向系統(tǒng)發(fā)送異常消息。
posted on 2010-01-26 00:01 chaosuper 閱讀(1787) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久九九国产精品怡红院| 最新日韩在线视频| 亚洲一区二区三区中文字幕在线 | 欧美一区二区三区的| 国产精品乱码一区二区三区| 亚洲午夜精品一区二区三区他趣| 91久久综合亚洲鲁鲁五月天| 欧美大片91| 亚洲色图在线视频| 亚洲综合不卡| 一区二区三区在线观看国产| 欧美 日韩 国产一区二区在线视频| 久久免费国产精品| 91久久夜色精品国产九色| 亚洲精品欧美在线| 国产精品高清在线| 老司机久久99久久精品播放免费 | 欧美精品久久99| 在线午夜精品| 欧美一区二区视频免费观看| 亚洲丶国产丶欧美一区二区三区| 亚洲国产91色在线| 国产精品久久久久久影院8一贰佰| 欧美一区二区三区久久精品茉莉花| 久久aⅴ国产欧美74aaa| 日韩小视频在线观看| 亚洲一区三区电影在线观看| 黄色成人在线免费| 亚洲欧洲在线一区| 国产欧美日韩亚洲一区二区三区| 欧美高清视频在线播放| 欧美日韩一区自拍| 蜜桃av久久久亚洲精品| 欧美手机在线视频| 久久久久国产一区二区三区四区 | 亚洲综合第一页| 一区在线视频观看| 夜夜爽99久久国产综合精品女不卡 | 亚洲国产成人精品久久| 国产精品丝袜91| 亚洲国产黄色片| 国内欧美视频一区二区| 亚洲美洲欧洲综合国产一区| 极品少妇一区二区| 亚洲欧美日韩精品在线| 一区二区欧美在线| 美女黄网久久| 久久乐国产精品| 国产欧美日韩在线| 夜夜爽99久久国产综合精品女不卡| 在线色欧美三级视频| 亚洲免费婷婷| 亚洲影音一区| 欧美日韩国产成人精品| 欧美国产日本| 在线观看视频一区二区| 亚洲欧美视频一区| 午夜宅男欧美| 国产精品久久国产愉拍| 日韩一区二区久久| 99国产精品自拍| 免费一区视频| 免费视频亚洲| 在线看片第一页欧美| 久久国产精品第一页| 亚洲欧美另类国产| 国产精品久久久久久五月尺| 亚洲少妇诱惑| 亚洲综合丁香| 国产精品日韩在线一区| 亚洲香蕉网站| 欧美在线一二三区| 国产精品久久久久久久久久三级| 99国产精品一区| 亚洲欧美日韩中文播放| 国产精品一区二区三区四区 | 久久成人一区二区| 老司机精品视频网站| 亚洲国产精品123| 欧美激情视频一区二区三区在线播放| 欧美黄色aa电影| aa国产精品| 国产精品国产自产拍高清av| 亚洲综合国产激情另类一区| 欧美在线视频一区二区三区| 国产一区深夜福利| 久久资源在线| 日韩视频在线免费观看| 性欧美xxxx视频在线观看| 禁断一区二区三区在线| 免费观看成人www动漫视频| 亚洲精品社区| 欧美专区亚洲专区| 亚洲丰满在线| 欧美日韩亚洲高清| 亚洲欧美在线免费| 欧美国产精品| 亚洲欧美成人网| 有码中文亚洲精品| 欧美日韩精品免费观看视频| 亚洲一区二区在线看| 欧美v国产在线一区二区三区| 一本色道久久综合狠狠躁篇的优点 | 一区二区三区精密机械公司| 国产精品久久看| 久久精品日产第一区二区| 亚洲人成小说网站色在线| 亚洲欧美一区二区在线观看| 激情丁香综合| 国产精品成人午夜| 蜜臀av性久久久久蜜臀aⅴ| 99riav国产精品| 久久综合色8888| 亚洲一区日韩在线| 一区一区视频| 国产欧美高清| 欧美日韩国产欧| 久久久久久久久久久久久9999| 亚洲最新色图| 亚洲激情综合| 嫩模写真一区二区三区三州| 午夜精品亚洲| 一区二区三区四区五区精品视频 | 伊人成年综合电影网| 国产精品盗摄久久久| 蜜桃av综合| 久久精品国产999大香线蕉| av72成人在线| 亚洲精品视频一区二区三区| 免费日韩av电影| 欧美中文在线字幕| 亚洲欧美日韩一区在线| 艳妇臀荡乳欲伦亚洲一区| 在线观看视频一区二区| 国产欧美一区二区三区在线老狼 | 欧美在线观看日本一区| 亚洲第一区在线观看| 国产日韩精品一区二区浪潮av| 美女成人午夜| 久久精品视频99| 一区二区三区久久| 一区二区三区成人| 欧美a级片一区| 久久国产综合精品| 亚洲一级黄色| 亚洲性av在线| 亚洲精品乱码久久久久久黑人 | 久久天天躁狠狠躁夜夜av| 一区二区日本视频| 亚洲福利电影| 欧美激情精品久久久久久变态| 欧美在线视频二区| 亚洲欧美中文在线视频| 99re6热在线精品视频播放速度| 国产欧美视频一区二区| 国产精品高潮呻吟久久av无限 | 亚洲三级色网| 亚洲福利视频免费观看| 久久这里有精品15一区二区三区| 亚洲一区二区3| 亚洲欧美国产毛片在线| 亚洲一区三区视频在线观看| 亚洲天堂男人| 亚洲主播在线播放| 欧美中文字幕在线| 久久精品视频一| 欧美一区二区三区在线观看| 香蕉视频成人在线观看| 亚洲一区精品电影| 性感少妇一区| 久久九九国产精品怡红院| 久久国产88| 老司机久久99久久精品播放免费| 久久夜色精品| 男男成人高潮片免费网站| 免费一级欧美在线大片| 亚洲欧洲三级| 亚洲一区二区少妇| 亚洲综合色丁香婷婷六月图片| 亚洲男人第一网站| 午夜精品久久久久久久男人的天堂 | 国产欧美婷婷中文| 亚洲高清123| 亚洲精品欧洲精品| 亚洲午夜精品在线| 亚洲欧美久久| 欧美www视频在线观看| 亚洲激情视频在线| 中日韩在线视频| 亚洲欧美制服中文字幕| 欧美国产日韩一区二区在线观看 | 一区二区三区日韩欧美| 亚洲欧美一级二级三级| 久久久美女艺术照精彩视频福利播放 | 欧美在线精品免播放器视频| 免费高清在线视频一区·| 亚洲肉体裸体xxxx137| 亚洲男人影院| 久久国产直播| 国产精品久久综合|