Go語言基礎之socket編程


Go語言基礎之socket編程

Socket是BSD UNIX的進程通信機制,通常也稱作”套接字”,用於描述IP地址和端口,是一個通信鏈的句柄。Socket可以理解為TCP/IP網絡的API,它定義了許多函數或例程,程序員可以用它們來開發TCP/IP網絡上的應用程序。電腦上運行的應用程序通常通過”套接字”向網絡發出請求或者應答網絡請求。

socket圖解

Socket是應用層與TCP/IP協議族通信的中間軟件抽象層。在設計模式中,Socket其實就是一個門面模式,它把復雜的TCP/IP協議族隱藏在Socket后面,對用戶來說只需要調用Socket規定的相關函數,讓Socket去組織符合指定的協議數據然后進行通信。

socket圖解

  • Socket又稱“套接字”,應用程序通常通過“套接字”向網絡發出請求或者應答網絡請求
  • 常用的Socket類型有兩種:流式Socket和數據報式Socket,流式是一種面向連接的Socket,針對於面向連接的TCP服務應用,數據報式Socket是一種無連接的Socket,針對於無連接的UDP服務應用
  • TCP:比較靠譜,面向連接,比較慢
  • UDP:不是太靠譜,比較快

舉個例子:TCP就像貨到付款的快遞,送到家還必須見到你人才算一整套流程。UDP就像某快遞快遞櫃一扔就走管你收到收不到,一般直播用UDP。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM