• <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>

            那誰的技術博客

            感興趣領域:高性能服務器編程,存儲,算法,Linux內核
            隨筆 - 210, 文章 - 0, 評論 - 1183, 引用 - 0
            數據加載中……

            connect的兩種出錯情況

            分兩種情況討論:機器連接不上或者是程序沒有起來.

            首先來看關于socket和TCP協議的幾個基本概念.

            標示一個socket,需要四元組:本機IP地址,本機端口,對端IP地址,對端端口號.有了這四個元素,才能唯一的表示一個socket.其中,IP地址是定位一臺機器的,而端口號是定位機器上的一個進程的.當發起一個connect請求時,首先是根據對端的IP地址找到相應的機器,然后TCP連接數據被送往該機器的協議棧中,在協議棧中,查找是否有監聽所連接端口號的程序在運行,如果有,則將該連接請求放入連接隊列中.否則,將給發起連接的機器發送RST報文.

            回到開始談到的兩種情況.

            第一種情況,對端IP地址不能定位到一臺機器,也就是說,發出去的connect請求不會被任何協議棧接受(中間經過的路由器之類的不算).TCP在這種情況下,會嘗試幾次連接,如果都沒有連接成功,則返回超時錯誤.
            第二種情況,機器定位到了,但是沒有對應端口號的機器,則該請求會被協議棧接收,但是會返回一個RST報文.注意,這個RST報文是在對端收到三次握手的第一個報文的時候回復的.

            因此,兩種情況下,connect都會返回-1報錯,進一步的,如果要定位是哪一種錯誤,可以通過查看errno來判斷.
            man connect函數的結果告訴我們,分別是這兩種錯誤號:
            ETIMEDOUT
                          Timeout while attempting connection.  The server may be too busy to accept new connections.  Note that  for  IP
                          sockets the timeout may be very long when syncookies are enabled on the server.
            ECONNREFUSED
                          No-one listening on the remote address.


            posted on 2009-04-23 20:43 那誰 閱讀(7040) 評論(1)  編輯 收藏 引用 所屬分類: 網絡編程服務器設計Linux/Unix

            評論

            # re: connect的兩種出錯情況  回復  更多評論   

            每篇都這么精彩,希望樓主繼續,為后人指路。
            2010-02-12 09:07 | sunceenjoy
            精品国际久久久久999波多野| 亚洲综合久久夜AV | 久久久久成人精品无码中文字幕| 国产午夜福利精品久久2021| 国产V综合V亚洲欧美久久| 久久伊人精品青青草原高清| 欧洲成人午夜精品无码区久久| 精品久久久久久无码免费| 人妻久久久一区二区三区| 久久国产乱子伦免费精品| 久久久免费观成人影院| 日韩精品久久久久久| 青草久久久国产线免观| 久久国产成人| 久久久噜噜噜久久熟女AA片| 精品无码久久久久久久久久 | 久久99精品久久久久久hb无码| 久久亚洲精品中文字幕三区| 日日狠狠久久偷偷色综合96蜜桃 | 久久本道综合久久伊人| 精品综合久久久久久98| 国产精品一区二区久久精品涩爱| 欧美与黑人午夜性猛交久久久| 久久婷婷五月综合97色| 亚洲精品无码久久久久AV麻豆| 久久国产精品国产自线拍免费| 久久亚洲中文字幕精品有坂深雪| 久久九九久精品国产免费直播| 欧美午夜A∨大片久久| 亚洲一区中文字幕久久| 久久久受www免费人成| 色综合久久中文综合网| 国产69精品久久久久777| 国产午夜电影久久| 久久强奷乱码老熟女网站| 婷婷久久综合九色综合九七| 国内精品久久久久久久亚洲| 久久久久国产精品麻豆AR影院| 91亚洲国产成人久久精品网址| 国产高清国内精品福利99久久| 久久美女网站免费|