• <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>
            隨筆 - 96  文章 - 255  trackbacks - 0
            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            E-mail:zbln426@163.com QQ:85132383 長期尋找對戰(zhàn)略游戲感興趣的合作伙伴。

            常用鏈接

            留言簿(21)

            隨筆分類

            隨筆檔案

            SDL相關(guān)網(wǎng)站

            我的個人網(wǎng)頁

            我的小游戲

            資源下載

            搜索

            •  

            積分與排名

            • 積分 - 492265
            • 排名 - 38

            最新評論

            閱讀排行榜

            評論排行榜

            socket 編程入門教程
            標準 BSD socket 編程的入門教程。是單獨的專集,也作為“SDL入門教程”第十四章的一部分。
            socket 編程入門教程(六)UDP應用:2、UDP版的Echo Client      摘要: 我們將UDP版的doEcho()也設(shè)計成返回bool:true表示循環(huán)繼續(xù);false表示關(guān)閉客戶端。  閱讀全文
            posted @ 2010-06-12 12:11 lf426 閱讀(3712) | 評論 (2)  編輯
            socket 編程入門教程(六)UDP應用:1、UDP版的Echo Server      摘要: 這里跟TCP有些細微的差別。在TCP中,recv()返回0表示連接正常斷開,而UDP中沒有連接和斷開的概念,recv()或者recvfrom()返回0表示收到一個0字節(jié)大小數(shù)據(jù)的數(shù)據(jù)報。另外,因為TCP是一對一連接的,所以一旦連接上,TCP服務器只能處理來自一個客戶端的echo請求(后面會講到多線程的使用,就可以讓TCP同時處理多個客戶端了);而UDP服務器則可以處理來自任何客戶端的echo請求,為了返回信息到正確的客戶端,我們的策略是,接收一個UDP數(shù)據(jù)包后,馬上刷新發(fā)送目標地址為上一次接收地址,然后再回發(fā)數(shù)據(jù),所以這里每次多了一個重新指定發(fā)送目的地的函數(shù)。  閱讀全文
            posted @ 2010-06-12 11:16 lf426 閱讀(2488) | 評論 (2)  編輯
            socket 編程入門教程(五)UDP原理:5、預讀MSG_PEEK      摘要: 因為UDP是按數(shù)據(jù)包接收的,我們在接收之前并不知道這個數(shù)據(jù)包有多大。一個策略是,我們準備足夠大的應用程序緩存以免出錯,但是這個“足夠大”的概念是建立在我們對傳送的數(shù)據(jù)事先有了解的情況下,比如是我們自己設(shè)計服務器端和客戶端并且制定應用層協(xié)議;另外一種策略是,將一個數(shù)據(jù)包的相關(guān)信息記錄在數(shù)據(jù)包的前面的一些字節(jié)中,比如說大小,這樣,我們可以通過預讀數(shù)據(jù)包的前面一段,得到這個數(shù)據(jù)包的相關(guān)信息,比如說大小,然后再安排緩存。  閱讀全文
            posted @ 2010-06-11 13:30 lf426 閱讀(5413) | 評論 (1)  編輯
            socket 編程入門教程(五)UDP原理:4、“有連接”的UDP      摘要: 雖然UDP是無連接的,但是也可以通過調(diào)用connect()將本地的UDP socket FD與一個遠程的UDP socket FD連接起來。  閱讀全文
            posted @ 2010-06-11 11:51 lf426 閱讀(2190) | 評論 (0)  編輯
            socket 編程入門教程(五)UDP原理:3、UDP的系統(tǒng)緩存隊列      摘要: UDP的系統(tǒng)緩存隊列與TCP的相比,有兩點顯著的不同:
            1、UDP沒有SendQ。UDP的數(shù)據(jù)包不會被處理,通過調(diào)用sendto()(或者在connect()之后也可以調(diào)用send())將數(shù)據(jù)直接發(fā)送。
            2、UDP的數(shù)據(jù)在緩存隊列中是有邊緣保證的。  閱讀全文
            posted @ 2010-06-11 11:18 lf426 閱讀(3039) | 評論 (0)  編輯
            socket 編程入門教程(五)UDP原理:2、設(shè)計UDP client類      摘要: TCP之所以有個服務器,是因為TCP的客戶端只能和自己的服務器端通訊。而UDP的客戶端可以與任何一個UDP端口通訊——只要知道對方的地址(IP地址和UDP端口)就可以發(fā)送數(shù)據(jù)包。  閱讀全文
            posted @ 2010-06-10 19:37 lf426 閱讀(1724) | 評論 (0)  編輯
            socket 編程入門教程(五)UDP原理:1、設(shè)計UDP server類      摘要: 人們通常用電話連線來說明TCP協(xié)議,而UDP協(xié)議,則常常用郵遞來做比喻。與TCP有連接的信息傳輸方式不同,UDP協(xié)議被認為是對底層IP協(xié)議簡單的擴展:協(xié)議并不保證每個數(shù)據(jù)包都會到達目的地,也不保證到達的順序,而僅僅就是“盡力”的發(fā)送每一個數(shù)據(jù)包。  閱讀全文
            posted @ 2010-06-10 12:16 lf426 閱讀(2906) | 評論 (0)  編輯
            socket 編程入門教程(四)TCP應用:2、構(gòu)建echo客戶端      摘要: echo客戶端的工作原理也很簡單:
            1、向服務器端發(fā)送一個字符串;
            2、接收服務器的返回信息(如果是echo服務器就會返回發(fā)送出去的字符串本身)。
            3、在標準輸出中回顯服務器返回的信息。  閱讀全文
            posted @ 2010-06-08 11:49 lf426 閱讀(2278) | 評論 (1)  編輯
            socket 編程入門教程(四)TCP應用:1、構(gòu)建echo服務器      摘要: echo服務器的工作原理很簡單:
            1、接收客戶端傳來的信息;
            2、將接收到的信息原封不動的返回給客戶端。  閱讀全文
            posted @ 2010-06-08 10:56 lf426 閱讀(3195) | 評論 (3)  編輯
            socket 編程入門教程(三)TCP原理:7、TCP連接的關(guān)閉      摘要: TCP的連接建立需要3次握手,而正常關(guān)閉則需要4次握手。  閱讀全文
            posted @ 2010-06-07 20:58 lf426 閱讀(2944) | 評論 (0)  編輯
            socket 編程入門教程(三)TCP原理:6、字節(jié)流的發(fā)送與接收      摘要: 在socket機制中,應用層的程序以send()函數(shù)將數(shù)據(jù)首先發(fā)送到本機系統(tǒng)的發(fā)送緩存中,我們稱之為SendQ,意指這是一個FIFO(先進先出)的隊列。這個緩存是系統(tǒng)決定的,并不是在我們的程序中指定的。然后socket機制負責將SendQ中的數(shù)據(jù)以字節(jié)為單位,按照順序發(fā)送給對方的接收緩存RecvQ中。RecvQ也是一個屬于系統(tǒng)的FIFO緩存隊列。在收信息的另外一邊,當RecvQ沒有數(shù)據(jù)時,recv()就會阻塞(默認情況下),每當有數(shù)據(jù)可接收,recv()就會返回實際接收到的數(shù)據(jù)長度。  閱讀全文
            posted @ 2010-06-07 20:09 lf426 閱讀(4023) | 評論 (1)  編輯
            socket 編程入門教程(三)TCP原理:5、TCP的三次握手(three-way handshake)      摘要: TCP的三次握手過程如下:
            1、第一個SYN連接請求由客戶端發(fā)起,這個數(shù)據(jù)報將SYN設(shè)置為1表示是一個連接請求,并且包含著這次連接的ISN,我們假設(shè)其值為n。
            2、服務器端收到第一次握手請求的數(shù)據(jù)報后開始構(gòu)建反饋的數(shù)據(jù)報。反饋數(shù)據(jù)報包括兩個部分:第一部分是將連接請求的序號反饋回去,因為SYN本身占了一個字節(jié),所以反饋回去的序號就是n+1;第二部分是自己也向客戶端發(fā)起SYN連接請求,也將SYN設(shè)置為1,并包含這個新連接的ISN,我們設(shè)其值為m。
            3、客戶端回應服務器端的SYN連接請求,將服務器端到客戶端連接的序號反饋回去,因為SYN占了一個字節(jié),所以反饋給服務器端的序號是m+1。  閱讀全文
            posted @ 2010-06-07 13:16 lf426 閱讀(3028) | 評論 (0)  編輯
            socket 編程入門教程(三)TCP原理:4、設(shè)計TCP socket的類(下)      摘要: TCPClientSock的建立和第三次握手。  閱讀全文
            posted @ 2010-06-07 00:46 lf426 閱讀(1851) | 評論 (1)  編輯
            socket 編程入門教程(三)TCP原理:3、設(shè)計TCP socket的類(中)      摘要: TCPServerSock的建立和“第二次握手”。  閱讀全文
            posted @ 2010-06-06 23:46 lf426 閱讀(1689) | 評論 (0)  編輯
            socket 編程入門教程(三)TCP原理:2、設(shè)計TCP socket的類(上)      摘要: socket是一個int的文件描述符(WinSock中直接是一種抽象的描述符),我們通過對這個描述符發(fā)出指令操作socket。這是C語言的思想,在面向?qū)ο蟮乃枷胫校詈胹ocket本身是一種對象,各種方法由對象本身發(fā)出。用面向?qū)ο蟮乃枷敕庋bsocket并不困難,而且,對于描述socket的概念可能更加直觀,這一節(jié),我們邊介紹socket和TCP的概念邊對socket進行OO封裝。
            (上)基類和監(jiān)聽socket。  閱讀全文
            posted @ 2010-06-06 22:24 lf426 閱讀(3872) | 評論 (1)  編輯
            socket 編程入門教程(三)TCP原理:1、socket異常信息      摘要: sokcet本身屬于系統(tǒng)(OS),是系統(tǒng)對TCP/IP的實現(xiàn),也就是說,socket發(fā)出的異常信息不代表程序出錯,甚至不代表系統(tǒng)出錯,而僅僅就是代表socket本身的各種異常情況。  閱讀全文
            posted @ 2010-06-06 21:07 lf426 閱讀(3963) | 評論 (0)  編輯
            socket 編程入門教程(二)win32下使用socket:WinSock      摘要: 接下來的教程我會兼顧winsock的代碼,這主要是因為winsock本身對socket幾乎是兼容的。所以,這里有必要先說明在VC環(huán)境中使用socket的一些簡單設(shè)置,以及與Linux環(huán)境下的細微差別。  閱讀全文
            posted @ 2010-06-03 10:37 lf426 閱讀(6565) | 評論 (0)  編輯
            socket 編程入門教程(一)TCP server 端:8、本章的完整源代碼      摘要: 本章的完整源代碼以及演示程序  閱讀全文
            posted @ 2008-07-16 12:57 lf426 閱讀(8459) | 評論 (3)  編輯
            socket 編程入門教程(一)TCP server 端:7、接收與發(fā)送      摘要: TCP通訊模型;recv()和send();處理echo行為  閱讀全文
            posted @ 2008-07-16 12:26 lf426 閱讀(8136) | 評論 (2)  編輯
            socket 編程入門教程(一)TCP server 端:6、創(chuàng)建“通訊 ”嵌套字      摘要: 用accept()創(chuàng)建新的socket;accept()的另一面connect();新socket與sockaddr的關(guān)系;inet_ntoa()  閱讀全文
            posted @ 2008-07-15 13:04 lf426 閱讀(4197) | 評論 (0)  編輯
            socket 編程入門教程(一)TCP server 端:5、創(chuàng)建監(jiān)聽嵌套字      摘要: socket和sockaddr的創(chuàng)建是可以相互獨立的;數(shù)據(jù)流簡易模型(SOCK_STREAM);socket與本機sockaddr的綁定;監(jiān)聽:listen()  閱讀全文
            posted @ 2008-07-14 13:02 lf426 閱讀(4597) | 評論 (2)  編輯
            socket 編程入門教程(一)TCP server 端:4、構(gòu)造函數(shù)涉及的概念      摘要: 數(shù)據(jù)封裝(Data Encapsutation);socket()函數(shù);數(shù)據(jù)的“地址”;網(wǎng)絡字節(jié)和本機字節(jié)的相互轉(zhuǎn)換;動作與持續(xù)行為  閱讀全文
            posted @ 2008-07-12 13:27 lf426 閱讀(5139) | 評論 (0)  編輯
            socket 編程入門教程(一)TCP server 端:3、sockaddr與sockaddr_in      摘要: 收件人地址;sockaddr和sockaddr_in在Linux中的實現(xiàn);頭文件依賴關(guān)系  閱讀全文
            posted @ 2008-07-10 15:14 lf426 閱讀(13319) | 評論 (6)  編輯
            socket 編程入門教程(一)TCP server 端:2、socket與文件描述符      摘要: UNIX中的一切事物都是文件(everything in Unix is a file!);文件與文件描述符(file & file descriptor);socket與file descriptor  閱讀全文
            posted @ 2008-07-10 02:42 lf426 閱讀(7969) | 評論 (4)  編輯
            socket 編程入門教程(一)TCP server 端:1、建模      摘要: 想象你自己是個小大佬,坐辦公室(什么樣的黑社會做辦公室啊?可能是討債公司吧^^)你很土,只有一個小弟幫你接電話(因為你自己的號碼是不敢對外公開的)。一次通訊的流程大概應該是這樣的:小弟那里的總機電話響了;小弟接起電話;對方說是你女朋友A妹;小弟轉(zhuǎn)達說,“老大,你馬子電話”;你說,接過來;小弟把電話接給你;你和你女朋友聊天半小時;掛電話。  閱讀全文
            posted @ 2008-07-08 15:42 lf426 閱讀(12439) | 評論 (8)  編輯

            久久综合狠狠综合久久| 久久乐国产综合亚洲精品| 久久精品人人做人人爽97| 久久亚洲AV成人无码国产| 国产精品久久国产精麻豆99网站| 欧美久久综合性欧美| 久久久久国产日韩精品网站| 欧美日韩精品久久免费| 欧美丰满熟妇BBB久久久| 99久久精品无码一区二区毛片| 国内精品久久久久国产盗摄| 久久久亚洲裙底偷窥综合| 国产一区二区精品久久| 亚洲欧美另类日本久久国产真实乱对白 | 天天综合久久久网| 中文精品久久久久人妻| 久久久久综合网久久| 午夜精品久久久久久影视777| 国产精品9999久久久久| 久久福利片| 久久综合综合久久狠狠狠97色88| 久久人人青草97香蕉| 国内精品久久久久久久亚洲| 伊人久久综合成人网| 亚洲国产精品无码久久九九| 国产午夜电影久久| 丰满少妇人妻久久久久久| 国内高清久久久久久| 香蕉aa三级久久毛片| 久久久久香蕉视频| 国产精品99久久久久久董美香| 99精品久久精品| .精品久久久麻豆国产精品| 老男人久久青草av高清| 亚洲国产精品综合久久网络| 久久免费国产精品| 久久久久久A亚洲欧洲AV冫| 欧美日韩中文字幕久久伊人| 久久99精品国产麻豆| 亚洲欧美成人综合久久久 | 久久99精品国产99久久6|