1. 程式人生 > 其它 >python編寫TCP客戶端和服務端

python編寫TCP客戶端和服務端

一、客戶端

#1、建立socket套接字
#2、建立TCP連線
#3、接收、傳送資料
import socket #匯入socket套接字模組
def main(target,port):
# 1、建立socket套接字
client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 2、建立TCP連線
client.connect(((target,port)))
# 3、接收、傳送資料
client.send(b"successful to connection....") #傳送資料要是用二進位制,因此在python3中要使用b
response = client.recv(1024) #設定response變數,接收資料,1024為接收資料的大小
print(response) #輸出接收到的資料
client.close() #關閉TCP連線
if __name__ == "__main__":
target = "127.0.0.1"
port = 4444
main(target,port)

二、服務端

#1、建立socket套接字
#2、繫結IP和埠
#3、進行監聽
#4、接收和傳送資料

import socket
def main(target,port):
# 1、建立socket套接字
server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#2、繫結IP和埠
server.bind((target,port))
# 3、進行監聽
server.listen(10) #10為監聽的數量
print("[*] listening on %s:%d" %(target,port))
# 4、接收和傳送資料
while True:
client,addr = server.accept() #client為連線過來的套接字物件,addr為客戶端的ip和埠,addr為列表
print("[*]Accept from %s:%d " % (addr[0],addr[1])) #列印連線過來的客戶端ip和埠
response = client.recv(1024)
print(response)
client.send(b"[*]successful to connection....")
client.close()

if __name__ == "__main__":
target = "0.0.0.0"
port =4444
main(target,port)