【C#進階3-7】C# Socket通訊

一、目錄

【Unity3D從入門到進階】文章目錄及設置這個專欄的初衷

二、什麼是Socket

Socket的英文原義是“孔”或“插座”。作爲進程通信機制,取後一種意思。通常也稱作“套接字”,用於描述IP地址和端口,是一個通信鏈的句柄(其實就是兩個程序通信用的)。
Socket非常類似於電話插座。以一個電話網爲例:電話的通話雙方相當於相互通信的2個程序,電話號碼就是ip地址。任何用戶在通話之前,首先要佔有一部電話機,相當於申請一個Socket;同時要知道對方的號碼,相當於對方有一個固定的Socket。然後向對方撥號呼叫,相當於發出連接請求。對方假如在場並空閒,拿起電話話筒,雙方就可以正式通話,相當於連接成功。雙方通話的過程,是一方向電話機發出信號和對方從電話機接收信號的過程,相當於向Socket發送數據和從Socket接收數據。通話結束後,一方掛起電話機相當於關閉Socket,撤銷連接。

Socket是通信的基石,是支持TCP/IP協議的網絡通信的基本操作單元。它是網絡通信過程中端點的抽象表示,包含進行網絡通信必須的五種信息:連接使用的協議,本地主機的IP地址,本地進程的協議端口,遠地主機的IP地址,遠地進程的協議端口。

應用層通過傳輸層進行數據通信時,TCP會遇到同時爲多個應用程序進程提供併發服務的問題。多個TCP連接或多個應用程序進程可能需要通過同一個 TCP協議端口傳輸數據。爲了區別不同的應用程序進程和連接,許多計算機操作系統爲應用程序與TCP/IP協議交互提供了Socket接口。應 用層可以和傳輸層通過Socket接口,區分來自不同應用程序進程或網絡連接的通信,實現數據傳輸的併發服務。

三、Socket相關概念

3-1、TCP/IP層次模型

當然這裏我們只討論重要的四層

 1,應用層(Ap
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章