1. 程式人生 > >python Tcp協議迴圈傳送和接收

python Tcp協議迴圈傳送和接收

需要建立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())