創建一個超級簡單的UDP服務器 / 客戶端
UDP客戶端代碼:
# cs = socket() # 創建客戶端套接字 # comm_loop: # 通訊循環 # cs.sendto() / cs.recvfrom() # 對話(發送 / 接收) # cs.close() # 關閉客戶端套接字 from socket import * HOST = 'localhost' PORT = 21568 BUFSIZE = 1024 ADDR = (HOST, PORT) udp_cli_sock = socket(AF_INET, SOCK_DGRAM) while True: data = input('>>>>>>請輸入: ') if not data: break udp_cli_sock.sendto(data.encode(), ADDR) data, ADDR = udp_cli_sock.recvfrom(BUFSIZE) if not data: break print(f'UDP 客戶端 data: {data}') udp_cli_sock.close()
UDP服務器端代碼:
# ss = socket() # 創建一個服務器套接字 # ss.bind() # 綁定服務器套接字 # inf_loop: # 服務器無限循環 # cs = ss.recvfrom() / ss.sendto() # 對話(接收 / 發送) # ss.close() # 關閉服務器套接字 from socket import * from time import ctime HOST = '' PORT = 21568 BUFSIZ = 1024 ADDR = (HOST, PORT) udp_ser_sock = socket(AF_INET, SOCK_DGRAM) udp_ser_sock.bind(ADDR) while True: print('等待消息信息......') data, addr = udp_ser_sock.recvfrom(BUFSIZ) udp_ser_sock.sendto(f'[{ctime()}] {data}'.encode(), addr) print(f'......接收和返回: {addr}') # udp_ser_sock.close()
UDP客戶端執行結果:
UDP服務器端執行結果: