python : 通過socket的Tcp/ip協議實現客戶端與服務端的資料互動
阿新 • • 發佈:2018-11-17
#服務端
- 繫結socket
- 繫結目的ip和埠
- 建立監聽
- 建立連線
- 資料互動
import socket ''' #建立socket :通過server接收 #繫結目的ip和埠號 #設定監聽 #建立連線Socket,Address接收資訊 #資料互動senddata 傳送資料 receive 接收資料 ''' server = socket.socket(socket.AF_INET,socket.SOCK_STREAM) ''' socket.AF_INET : socket.AF_STREAM : ''' server.bind(("192.168.43.28",8080)) #繫結的ip和埠在元組中 server.listen(1) #引數為監聽的數目 print("{}啟動成功,等待{}連線".format("伺服器","客戶端")) Socket,Adress =server.accept()#返回一個新的socket連線和客戶端地址 Socket.sendto("你好,歡迎訪問伺服器".encode("utf-8"),("192.168.43.28",8080)) while True : receivedata = Socket.recv(1024).decode("utf-8") print("{} :{}".format("客戶端",receivedata)) senddata = input("{}:".format("伺服器")).encode("utf-8") Socket.send(senddata)
#客戶端
- 建立socket
- 連線服務端
import socket ''' 建立socket通過client接收 連線服務端目的ip和埠號 與服務端資料互動 ''' #建立socket client = socket.socket(socket.AF_INET,socket.SOCK_STREAM) client.connect(("192.168.43.28",8080)) print("{} :{}".format("伺服器",client.recv(1024).decode("utf-8"))) while True : receivedata = client.recv(1024).decode("utf-8") print("{} :{}".format("伺服器", receivedata)) clientdata = input("{} :".format("客戶端")).encode("utf-8") client.send(clientdata)