• <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
            <2010年6月>
            303112345
            6789101112
            13141516171819
            20212223242526
            27282930123
            45678910

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

            常用鏈接

            留言簿(21)

            隨筆分類

            隨筆檔案

            SDL相關網站

            我的個人網頁

            我的小游戲

            資源下載

            搜索

            •  

            積分與排名

            • 積分 - 494279
            • 排名 - 39

            最新評論

            閱讀排行榜

            評論排行榜

            前面3個小節介紹了socket機制對TCP協議三次握手的實現,需要強調的是,與協議獨立于實現類似,TCP的三次握手是獨立于socket體系的理論。在TCP協議中,三次握手是通過3個TCP格式的IP數據報來實現的。TCP格式的IP數據報中包含著TCP首部,TCP首部信息中包含著對每一個數據報具體內容的描述。我們這里需要介紹的首部位(bit)標志只有3個:
            SYN:同步序號用來發起一個連接。因為TCP協議要求數據傳送是可靠的,他的實現方式就是對傳輸的數據的每一個字節(byte)按順序編號。但是初始序列號(ISN:Initial Sequence Number)并非從0開始,而是一個隨時間周而復始變化的32位無符號整數。當一方發起連接的時候,SYN就會被設置成1,同時,在發送的數據部分用一個字節來表明這是一個新連接的開始。因此,假設發起連接的一方的ISN為n,因為SYN會在數據部分添加一個字節表示這是一個新連接的開始,所以這時候的字節序號就成了n+1。
            ACK:確認序號有效。TCP協議要求自動檢驗數據的可靠性,實現方式就是檢驗字節序號是否正確的銜接。假如接收數據的一方序號已經是m,那么其返回給發送方確認有效的序號就是m+1。一旦連接,ACK始終設置為1,即表示序號有效,并且在所有數據包中總是存在。但是數據是否真的被TCP采用要看序號是否能對應。如果發送方傳來的字節序號沒有從m+1開始,那么這個IP數據包就不會被采用,返回ACK信息序號依然是m+1;如果發送方傳來的字節序號盡管是從m+1開始的,但是在效驗時發生了錯誤,這個數據報依然不會被采用,返回的ACK信息序號依然是m+1。直到接收了通過TCP檢驗的數據,序號才會繼續增加,例如,傳來的數據字節序號從m+1開始到m+k結束,并且通過了TCP效驗,那么再次傳回的ACK信息,序號就成為了m+k+1。
            FIN:發送端完成發送。與SYN類似,FIN也會在數據部分占用一個字節,表示這是一個結束符號。
            TCP的三次握手過程如下:
            1、第一個SYN連接請求由客戶端發起,這個數據報將SYN設置為1表示是一個連接請求,并且包含著這次連接的ISN,我們假設其值為n。
            2、服務器端收到第一次握手請求的數據報后開始構建反饋的數據報。反饋數據報包括兩個部分:第一部分是將連接請求的序號反饋回去,因為SYN本身占了一個字節,所以反饋回去的序號就是n+1;第二部分是自己也向客戶端發起SYN連接請求,也將SYN設置為1,并包含這個新連接的ISN,我們設其值為m。
            3、客戶端回應服務器端的SYN連接請求,將服務器端到客戶端連接的序號反饋回去,因為SYN占了一個字節,所以反饋給服務器端的序號是m+1。
            由此,我們可以看到,TCP中,客戶端到服務器端,服務器端到客戶端的連接是分別建立的,具有不同的ISN(n和m),我們在后面可以看到,這也就意味著這兩個連接在正常情況下需要分別的斷開。
            posted on 2010-06-07 13:16 lf426 閱讀(3038) 評論(0)  編輯 收藏 引用 所屬分類: SDL入門教程socket 編程入門教程
            亚洲日本va中文字幕久久| 日韩人妻无码一区二区三区久久 | 久久国语露脸国产精品电影| 久久国产精品99久久久久久老狼 | 国产精品视频久久久| 久久久久久久久66精品片| 精品久久久久久国产三级| 久久精品中文騷妇女内射| 麻豆精品久久久久久久99蜜桃| 久久精品国产精品亚洲人人 | 亚洲综合精品香蕉久久网| 国产精品99精品久久免费| 人妻精品久久无码专区精东影业 | 久久精品成人免费国产片小草| 伊人久久大香线蕉综合Av| 久久久久亚洲AV综合波多野结衣| 久久免费小视频| 精品久久久久中文字| 精品国产乱码久久久久久郑州公司| 国产亚州精品女人久久久久久 | 久久精品无码一区二区三区| 久久无码国产专区精品| 久久国产午夜精品一区二区三区| 午夜精品久久久久久久久| 久久A级毛片免费观看| 少妇人妻综合久久中文字幕| 久久一区二区三区免费| 日本精品久久久久中文字幕| 国产精品美女久久久m| 亚洲精品乱码久久久久久蜜桃图片| 香蕉aa三级久久毛片| 漂亮人妻被中出中文字幕久久| 国产成人综合久久精品尤物| 日批日出水久久亚洲精品tv| 国产午夜精品理论片久久| 色综合久久综精品| 久久国产成人亚洲精品影院| 久久精品国产清自在天天线| 欧美精品福利视频一区二区三区久久久精品 | 伊人久久大香线蕉成人| 伊人 久久 精品|