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

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)上流傳的是一個相同的版本,就是那個第一項是頭文件的區(qū)別,但后面列出的頭文件只有#include沒有(估計是原版的在不斷轉(zhuǎn)載的過程中有人不小心忘了把尖括號轉(zhuǎn)義,讓瀏覽器當(dāng)html標(biāo)記解析沒了)的那個。現(xiàn)在整理了一下,以后也會不斷補充內(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,因為-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 閱讀(1786) 評論(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>
            在线观看三级视频欧美| 国产精品美女诱惑| 欧美成人午夜影院| 老巨人导航500精品| 久久午夜精品| 久久婷婷成人综合色| 久久综合电影一区| 免费不卡视频| 亚洲人成艺术| 91久久精品网| 亚洲一区中文字幕在线观看| 亚洲一区免费看| 久久久精品999| 久久疯狂做爰流白浆xx| 久久综合久久综合这里只有精品 | 久久久久在线| 快射av在线播放一区| 欧美国产日韩一区二区在线观看| 国产欧美大片| 激情亚洲网站| 亚洲黄色av| 午夜伦理片一区| 欧美 日韩 国产在线| 一区二区日韩精品| 久久精品国产亚洲aⅴ| 欧美极品在线播放| 国产综合精品| 亚洲欧美视频在线观看视频| 久久只精品国产| 一区二区欧美日韩| 女女同性精品视频| 国产精品私拍pans大尺度在线 | 国产精品爱啪在线线免费观看| 亚洲欧美国产一区二区三区| 欧美一区精品| 国产精品v欧美精品v日韩| 怡红院精品视频| 亚洲深夜福利在线| 亚洲成人在线免费| 国产精品亚洲综合色区韩国| 欧美激情在线免费观看| 亚洲精品一区二区三区樱花| 亚洲欧美一区在线| 亚洲电影成人| 欧美一区二区在线免费播放| 欧美午夜精品| 日韩视频免费看| 麻豆91精品| 欧美在线视频导航| 国产精品一区二区黑丝| 亚洲性视频网站| 亚洲精品一区二区三区福利| 美日韩丰满少妇在线观看| 国产综合久久久久影院| 欧美在线观看网站| 99精品国产在热久久| 欧美丰满高潮xxxx喷水动漫| 在线不卡免费欧美| 久久午夜色播影院免费高清| 午夜亚洲精品| 国产精品国色综合久久| 久久国产日韩| 99精品国产在热久久下载| 久久动漫亚洲| 亚洲视频精品| 国产精品二区二区三区| 亚洲精品在线三区| 亚洲第一精品夜夜躁人人躁 | 国产日韩欧美亚洲一区| 一区二区三区产品免费精品久久75| 99在线|亚洲一区二区| 欧美不卡高清| 欧美激情亚洲视频| 亚洲午夜精品一区二区| 在线一区观看| 国产亚洲综合在线| 欧美~级网站不卡| 免费在线欧美视频| 亚洲最快最全在线视频| 99亚洲视频| 国产精品三级视频| 久久影院午夜论| 免费人成精品欧美精品| 99视频+国产日韩欧美| 一本色道久久综合精品竹菊| 国产精品综合不卡av| 久久婷婷综合激情| 欧美精品久久久久久久免费观看| 国产欧美精品久久| 久久丁香综合五月国产三级网站| 亚洲黄色在线视频| 欧美人体xx| 久久精品夜色噜噜亚洲aⅴ| 久久亚洲精品一区二区| 亚洲激情在线观看视频免费| 一区二区免费看| 国产欧美一区二区三区久久人妖| 久久久久久一区| 欧美韩日高清| 国产精品a久久久久| 欧美在现视频| 欧美高清在线视频| 欧美亚洲网站| 欧美激情影院| 久久三级视频| 国产精品r级在线| 亚洲福利一区| 国产香蕉97碰碰久久人人| 亚洲国产日韩欧美在线动漫| 国产欧美一区二区三区视频| 亚洲福利专区| 在线免费观看日本一区| 亚洲欧美日韩精品久久奇米色影视 | 久久免费国产| 中文在线资源观看视频网站免费不卡| 欧美午夜精品久久久久久孕妇| 亚洲第一久久影院| 欧美人与禽猛交乱配视频| 亚洲视频在线一区| 久久伊伊香蕉| 欧美亚洲日本网站| 欧美 日韩 国产精品免费观看| 国产在线精品二区| 欧美激情按摩在线| 国产午夜精品久久久久久久| 亚洲美女黄色片| 亚洲精品国产拍免费91在线| 久久精品亚洲国产奇米99| 欧美在线亚洲一区| 欧美午夜精品理论片a级按摩| 亚洲综合好骚| 欧美精品一区二区三区在线播放 | 国产精品日本| 日韩午夜在线电影| 欧美激情一级片一区二区| 久久成人在线| 欧美三区在线视频| 亚洲精品久久久久久下一站| 亚洲国产精品女人久久久| 久久久99免费视频| 狂野欧美一区| 国产精品第一区| 一区二区日韩精品| 午夜精品福利一区二区三区av | 亚洲欧美久久| 亚洲尤物在线视频观看| 欧美无砖砖区免费| 亚洲无吗在线| 欧美成人亚洲成人日韩成人| 夜夜嗨av一区二区三区免费区| 国产精品视频xxxx| 亚洲国产精品一区二区www在线| 欧美11—12娇小xxxx| 免费成人在线视频网站| 在线观看中文字幕亚洲| 欧美mv日韩mv亚洲| 亚洲日本无吗高清不卡| 这里只有精品在线播放| 欧美午夜性色大片在线观看| 亚洲影视在线| 美女主播精品视频一二三四| 亚洲国产精品www| 欧美日韩国产精品一卡| 亚洲天堂视频在线观看| 久久国产色av| 亚洲精品日本| 欧美日韩直播| 久久国产精品久久久久久| 欧美成人精品1314www| 欧美黑人国产人伦爽爽爽| 一区二区免费在线播放| 亚洲乱码国产乱码精品精98午夜| 久久综合久色欧美综合狠狠| 国产一区二区三区久久| 久久偷看各类wc女厕嘘嘘偷窃| 一区二区欧美精品| 欧美性猛交视频| 亚洲欧美在线免费观看| 欧美成人午夜影院| 亚洲免费综合| 亚洲国产日韩欧美在线图片| 欧美日韩三级视频| 久久国产视频网| 亚洲九九精品| 久久天堂国产精品| 中国av一区| 精品动漫3d一区二区三区免费| 亚洲一区精品视频| 欧美丰满少妇xxxbbb| 亚洲免费在线观看| 在线不卡欧美| 亚洲人成网站777色婷婷| 久久亚洲精品中文字幕冲田杏梨 | 国产精品成人一区二区三区夜夜夜 | 欧美日韩不卡在线| 欧美一区二区三区免费观看 | 欧美99在线视频观看| 在线一区日本视频| 最新高清无码专区| 国产午夜精品久久|