udp網路通訊

張子恆發表於2020-12-18
如何使用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")))
 

相關文章