Socket的簡單學習總結

2021-10-11 03:58:57 字數 1044 閱讀 7194

介紹:

socket的英文原義是「孔」或「插座」。作為程序通訊機制,取後一種意思。通常也稱作「套接字」,用於描述ip位址和埠,是乙個通訊鏈的控制代碼(其實就是兩個程式通訊用的)。socket非常類似於**插座。以乙個**網為例:**的通話雙方相當於相互通訊的2個程式,**號碼就是ip位址。任何使用者在通話之前,首先要占有一部**機,相當於申請乙個socket;同時要知道對方的號碼,相當於對方有乙個固定的socket。然後向對方撥號呼叫,相當於發出連線請求。對方假如在場並空閒,拿起**話筒,雙方就可以正式通話,相當於連線成功。雙方通話的過程,是一方向**機發出訊號和對方從**機接收訊號的過程,相當於向socket傳送資料和從socket接收資料。通話結束後,一方掛起**機相當於關閉socket,撤銷連線。

socket是基於c/s架構下的即時通訊,是不能在網頁上實現的。

socket使用步驟

伺服器端:

第一步:建立乙個用於監聽連線的socket對像;

第二步:用指定的埠號和伺服器的ip建立乙個endpoint對像; 127.0.0.1:5000用於監聽

第三步:用socket對像的bind()方法繫結endpoint;

第四步:用socket對像的listen()方法開始監聽;

第五步:接收到客戶端的連線,用socket對像的accept()方法建立乙個新的用於和客戶端進行通訊的socket對像;

第六步:通訊結束後一定記得關閉socket;

客戶端:

第一步:建立乙個socket對像;

第二步:用指定的埠號和伺服器的ip建立乙個endpoint對像;

第三步:用socket對像的connect()方法以上面建立的endpoint對像做為引數,向伺服器發出連線請求;

第四步:如果連線成功,就用socket對像的send()方法向伺服器傳送資訊;

第五步:用socket對像的receive()方法接受伺服器發來的資訊 ;

第六步:通訊結束後一定記得關閉socket;

學習socket通訊總結(一)

最近一直在用linux,很早就想學習linux網路程式設計。今天剛好抽出一段時間,學習了簡單的socket通訊,寫了乙個簡單的客戶端 伺服器通訊 現在將今天學習的內容做乙個總結。一 相關概念說明 struct sockaddr struct sockaddr in int socket int do...

Python學習之路 socket簡單例項

客戶端 1 客戶端 2import socket 34 client socket.socket 相當於宣告socket型別,同時生成socket連線物件 5 client.connect localhost 6969 67 client.send b hello world 8 data clie...

Socket的簡單認識

socket又稱 套接字 網路上的兩個程式通過乙個 雙向的通訊連線實現資料的交換 這個連線的一端稱為乙個 socket。應用程式通常通過 套接字 向網路發出請求或者應答網路請求 網路通訊的要素 網路上的請求就是通過 socket 來建立連線然後互相通訊 ip位址 網路上主機裝置的 唯一標識 埠號 定...