python Tcp協議迴圈傳送和接收
阿新 • • 發佈:2018-12-14
需要建立2個檔案,一個作為客戶端,一個作為服務端
檔案一 作為客戶端client,檔案二作為服務端server
檔案一
# 建立socket物件:指定傳輸協議 # AF_INET---ipv4 # SOCK_STREAM---TCP協議 import socket s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 建立連線---傳送連線請求 s.connect(('127.0.0.1',8000)) while True: data = input("請輸入給服務端的資料:") s.send(data.encode()) data1 = s.recv(1024) print(data1.decode())
檔案二
import socket #1建立socket物件 s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #2,需要自己繫結一個ip地址和埠號 s.bind(('127.0.0.1',8000)) #3監聽操作時刻注意是否有客戶端請求發來 s.listen(3) #可以同時監聽3個,但是這裡只有一個因為沒有寫多執行緒 #4,同意連線請求 s1,addr=s.accept() #s是服務端的socket物件s1是接入的客戶端socket物件 print(addr) while True: # revice 接收資料 data = s1.recv(1024) # 一次接收1024位元組 print(data.decode()) # decode()解碼收到的位元組 data1=input("請輸入給客戶端的資料:") s1.send(data1.encode())