標籤:ESS 如何 聊天 .so 處理序間通訊 socket 很多 div 本地
socket簡介1.本地的處理序間通訊(IPC)有很多種方式,例如
以上通訊方式都是在一台機器上不同進程之間的通訊方式,那麼問題來了
網路中進程之間如何通訊?
2. 網路中進程之間如何通訊
首要解決的問題是如何唯一標識一個進程,否則通訊無從談起!
在本地可以通過進程PID來唯一標識一個進程,但是在網路中這是行不通的。
其實TCP/IP協議族已經幫我們解決了這個問題,網路層的“ip地址”可以唯一標識網路中的主機,而傳輸層的“協議+連接埠”可以唯一標識主機中的應用程式(進程)。
這樣利用ip地址,協議,連接埠就可以標識網路的進程了,網路中的進程通訊就可以利用這個標誌與其它進程進行互動
3. 什麼是socket
socket(簡稱 通訊端) 是處理序間通訊的一種方式,它與其他處理序間通訊的一個主要不同是:
它能實現不同主機間的處理序間通訊,我們網路上各種各樣的服務大多都是基於 Socket 來完成通訊的
例如我們每天瀏覽網頁、QQ 聊天、收發 email 等等
4. 建立socket
在 Python 中 使用socket 模組的函數 socket 就可以完成:
socket.socket(AddressFamily, Type)
說明:
函數 socket.socket 建立一個 socket,返回該 socket 的描述符,該函數帶有兩個參數:
- Address Family:可以選擇 AF_INET(用於 Internet 處理序間通訊) 或者 AF_UNIX(用於同一台機器處理序間通訊),實際工作中常用AF_INET
- Type:通訊端類型,可以是 SOCK_STREAM(流式通訊端,主要用於 TCP 協議)或者 SOCK_DGRAM(資料通訊端,主要用於 UDP 協議)
建立一個tcp socket(tcp通訊端)
import sockets = socket.socket(socket.AF_INET, socket.SOCK_STREAM)print ‘Socket Created‘
建立一個udp socket(udp通訊端)
import sockets = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)print ‘Socket Created‘
python網路編程(一)