Python Socket學習之旅(二)

2022-08-31 00:54:15 字數 1029 閱讀 8279

註解:

socket的close和shutdown--結束資料傳輸: close-----關閉本程序的socket id,但鏈結還是開著的,用這個socket id的其它程序還能用這個鏈結, 能讀或寫這個socket id shutdown--則破壞了socket 鏈結,讀的時候可能偵探到eof結束符,寫的時候可能會收到乙個 sigpipe訊號,這個訊號可能直到socket buffer被填充了才收到,shutdown還有乙個關閉方式的引數, 0 不能再讀,1不能再寫,2 讀寫都不能。 多程序應用:

1.如果有多個程序共享乙個套接字,close每被呼叫一次,計數減1,直到計數為0時,也就是所用進 程都呼叫了close,套接字將被釋放。

2.在多程序中如果乙個程序中shutdown(sfd, shut_rdwr)後其它的程序將無法進行通訊。如果一 個程序close(sfd)將不會影響到其它程序。

tcp服務端:

1 建立套接字,繫結套接字到本地ip與埠 # socket.socket(socket.af_inet,socket.sock_stream) , s.bind()

2 開始監聽連線 #s.listen()

3 進入迴圈,不斷接受客戶端的連線請求 #s.accept()

4 然後接收傳來的資料,並傳送給對方資料 #s.recv() , s.sendall()

5 傳輸完畢後,關閉套接字 #s.close()

tcp客戶端:

1 建立套接字,連線遠端位址 # socket.socket(socket.af_inet,socket.sock_stream) , s.connect()

2 連線後傳送資料和接收資料 # s.sendall(), s.recv()

3 傳輸完畢後,關閉套接字 #s.close() 

Python socket 程式設計學習

server.py import socket host daring.cwi.nl port 50007 s socket.socket socket.af inet,socket.sock stream s.bind host port s.listen 1 conn,addr s.accept...

python socket模組之常用函式

1 socket的例項 socket例項化的格式為 socket family,type protocal 其中,三個引數中的family是要使用的位址族。常用的協議族 af inet af inet6 af local 或稱af unix unix域 socket af route等。預設值為so...

Python Socket 程式設計

client import socket,sys if name main 處理引數 argv sys.argv if len argv 3 or len argv 2 and argv 1 print useage argv 0 sys.exit 0 host argv 1 server ip位址...