如何使用udp實現通訊
# 編碼 encode
# 解碼 decode
傳送:sendto()
udp傳送資訊功能:
# 連線模組,導包
import socket
# 建立udp套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 死迴圈
while True:
num_socket = input("輸入傳送的資料:")
# 判斷退出條件
if num_socket == 'T':
break
# 將輸入的資料傳送到制定法介面
# 注意:對方地址為ip+port,是一個元祖型別資料
udp_socket.sendto(num_socket.encode("utf-8"), ("192.168.1.9", 7890))
# 關閉套介面
udp_socket.close()
print("關閉")
解析
繫結地址資訊:bind()
接收:recvfrom
udp接收資訊功能
# 連線模組,導包
import socket
# 建立udp套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 繫結自己的地址
laddr = ("192.168.1.9", 7890)
udp_socket.bind(laddr)
# 死迴圈
while True:
# 建立變數接收資料 # 一次接收多少位元組
# 注意:ret_socket變數接收到的是一個元祖資料型別
ret_socket = udp_socket.recvfrom(1024)
# 儲存接收的語句
a = ret_socket[0]
# 儲存接收的地址
b = ret_socket[1]
# 列印接收的語句
print("%s:%s" % (str(b), a.decode("gbk")))