淺談socket TCP編程中connect的一些坑
1.服務端listen成功后,系統(tǒng)就自動接收客戶端請求了
man listen:
其中有一段
The  behavior of the backlog argument on TCP sockets changed with Linux
       2.2.  Now it specifies the  queue  length  for  completely  established
       sockets  waiting  to  be  accepted, instead of the number of incomplete
       connection requests.  The maximum length of the  queue  for  incomplete
       sockets  can be set using /proc/sys/net/ipv4/tcp_max_syn_backlog.  When
       syncookies are enabled there is no logical maximum length and this set‐
       ting is ignored.  See tcp(7) for more information.
也就是說,listen成功后,系統(tǒng)會自動接受bocklog個客戶端請求,并不需要服務端accept,就算服務端沒有accept,客戶端connect仍然返回成功。accept僅僅是從backlog隊列中取出一個已經建立了完整TCP連接的套接字。
2.一個fd socket了connect后,不能再次connect
再次connect,會報錯:Transport endpoint is already connected
此時想要再次connect,必須重置fd..
連接建立后socket的狀態(tài)被置為SS_ISCONNECTED,因此在調用close重置此socket狀態(tài)之前,會報錯。。
以上就是小編為大家?guī)淼臏\談socket TCP編程中connect的一些坑全部內容了,希望大家多多支持我們~
欄 目:C語言
下一篇:使用C語言編寫圣誕表白程序
本文標題:淺談socket TCP編程中connect的一些坑
本文地址:http://www.jygsgssxh.com/a1/Cyuyan/1944.html
您可能感興趣的文章
- 01-10淺談C/C++中的static與extern關鍵字的使用詳解
 - 01-10淺談內聯(lián)函數與宏定義的區(qū)別詳解
 - 01-10淺談C++中的string 類型占幾個字節(jié)
 - 01-10淺談關于指針作為參數并改變它的值的問題
 - 01-10淺談C#互操作的內存溢出問題
 - 01-10c語言socket多線程編程限制客戶端連接數
 - 01-10C語言socket編程開發(fā)應用示例
 - 01-10三種獲取網頁源碼的方法(使用MFC/Socket實現)
 - 01-10tcp socket客戶端和服務端示例分享
 - 01-10c語言多進程tcp服務器示例
 


閱讀排行
本欄相關
- 04-02c語言函數調用后清空內存 c語言調用
 - 04-02func函數+在C語言 func函數在c語言中
 - 04-02c語言的正則匹配函數 c語言正則表達
 - 04-02c語言用函數寫分段 用c語言表示分段
 - 04-02c語言中對數函數的表達式 c語言中對
 - 04-02c語言編寫函數冒泡排序 c語言冒泡排
 - 04-02c語言沒有round函數 round c語言
 - 04-02c語言分段函數怎么求 用c語言求分段
 - 04-02C語言中怎么打出三角函數 c語言中怎
 - 04-02c語言調用函數求fibo C語言調用函數求
 
隨機閱讀
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
 - 08-05dedecms(織夢)副欄目數量限制代碼修改
 - 01-10delphi制作wav文件的方法
 - 01-10使用C語言求解撲克牌的順子及n個骰子
 - 08-05DEDE織夢data目錄下的sessions文件夾有什
 - 08-05織夢dedecms什么時候用欄目交叉功能?
 - 01-10C#中split用法實例總結
 - 01-11ajax實現頁面的局部加載
 - 04-02jquery與jsp,用jquery
 - 01-10SublimeText編譯C開發(fā)環(huán)境設置
 


