1. 程式人生 > >python--教你做個最簡單的tcp通訊。。

python--教你做個最簡單的tcp通訊。。

 

TCP協議:建立在IP協議之上的,TCP協議,傳輸控制協議(英語:Transmission Control Protocol,縮寫為 TCP)是一種面向連線的、可靠的、基於位元組流的傳輸層通訊協議,由IETF的RFC 793定義。

TCP通訊需要經過建立連線、資料傳送、終止連線三個步驟。其優點是:穩定可靠。

上程式碼啦!!

tcp服務端的搭建

import socket

# 不管是tcp還是udp最重要的是都需要匯入socket套接字
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

# 同名方法socket需要匯入兩個引數,第1個引數Address Family:可以選擇 AF_INET(用於 Internet 程序間通訊) 或者 AF_UNIX(用於同一臺機器程序間通訊),實際工作中常用AF_INET

#                                                          第2個引數Type:套接字型別:可以是 SOCK_STREAM(流式套接字,主要用於 TCP 協議),或者 SOCK_DGRAM(資料報套接字,主要用於 UDP 協議)。

HOST = "0.0.0.0"    
PORT = 3332
s.bind((HOST,PORT))

# 繫結IP和埠
s.listen(128)

# tcp特點需要監聽,128代表最大接收請求數為123
conn,addr = s.accept()

# 拆包接收客戶端
print("客戶端IP為:%s" %str(addr))
mess = input("你相對客戶說些什麼:")
mess = mess.encode()

# 編碼
conn.send(mess)
data = conn.recv(1024)

# 接收客戶端資訊,最大位元組1024
print("客戶端回傳是:%s"%data.decode())
conn.close()
s.close()

# 關閉通訊、關閉服務端

 

 

 

#  tcp客戶端搭建

import socket

c = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

HOST = "127.0.0.1"
POST = 3332
c.connect((HOST,POST))
print("服務端地址為:%s,埠是:%s,ok"% (HOST,str(POST)))
data = c.recv(1024)
print("服務端回傳資訊是:%s"% data.decode())
mess = input("您對服務端有什麼建議:")
mess = mess.encode()
c.send(mess)
c.close()

 

---恢復內容結束---