Python 簡單socket
阿新 • • 發佈:2017-11-11
type add 地址 cnblogs list recv logs 綁定 響應
OSI七層模型(Open System Interconnection,開放式系統互聯)
應用層 表示層 回話層 傳輸層 tcp,udp 網絡層 ip,icmp 數據鏈路層 mac地址 物理層 物理網卡
服務端:
import socket #實例化,綁定,監聽,等待,解構(標識,ip-port),接收,回應,關閉 server = socket.socket() server.bind((‘localhost‘,6969)) server.listen() print(‘開始監聽...‘) conn,addr = server.accept() print(conn,addr) data = conn.recv(1024) print(‘服務端接收到數據:‘,data.decode()) conn.send(‘Hi, i am the server.‘.encode()) server.close()
客戶端:
import socket #實例化,連接,發送,接收回應,關閉 client = socket.socket() client.connect((‘localhost‘,6969)) client.send(‘Hi,i am the client.‘.encode()) print(‘發送數據...‘) data = client.recv(1024) print(‘客戶端接收到數據:‘,data.decode()) client.close()
1. 先運行服務端,監聽端口,開始等待傳入數據:
開始監聽...
2. 啟動客戶端,發送數據,接收響應:
發送數據... 客戶端接收到數據: Hi, i am the server.
3. 回到服務端,查看接收到的數據:
開始監聽... <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=(‘127.0.0.1‘, 6969), raddr=(‘127.0.0.1‘, 55149)> (‘127.0.0.1‘, 55149) 接收到的數據: Hi,i am the client.
Python 簡單socket