日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Network | Socket连接建立步骤

發布時間:2023/12/20 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Network | Socket连接建立步骤 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

服務端創建一個 IPv4 的 TCP 傳輸的 socket 的步驟:

  • 調用系統函數 socket (),創建并綁定一個 IP 地址和端口。
  • 調用系統函數 listen (),進行地址監聽。此時可以通過 netstate 命令查看對應端口是否被監聽。
  • 調用系統函數 accept (),從內核獲取客戶端的連接,如果沒有客戶端進行連接,則會阻塞等待。
  • 最后調用完成需要close() 連接
  • 客戶端發起連接的步驟:

  • 客戶端創建 socket 連接
  • 調用系統函數 connect () 發起連接請求,在該函數中指定要連接的服務端的 IP 和 Port,然后進行 TCP 三次握手確認連接狀態
  • 在 TCP 連接中,內核要為每個 socket 維護兩個隊列

  • 半連接隊列
    沒有完全建立連接的隊列
    還未完成三次握手,服務端處于 syn_rcvd 狀態,既等待客戶端發送回執
  • 全連接隊列
    建立連接的隊列
    完成了三次握手,服務端處于 established 狀態
  • 當 TCP 全連接隊列不為空時,服務端的 accept () 函數就會從隊列中取出完成的連接返回給應用,后續的數據傳輸度使用這個 socket。建立連接后,客戶端和服務端就可以互相傳輸數據了,雙方都可以通過 read () 和 write () 函數來讀寫數據了。

    參考:

    https://blog.m2ez.com/2021/001/

    總結

    以上是生活随笔為你收集整理的Network | Socket连接建立步骤的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。