1. 程式人生 > 實用技巧 >網路程式設計:套接字基於UDP的應用

網路程式設計:套接字基於UDP的應用

模擬通訊,進行訊息的收發

【1】初版server端

from socket import *

print("伺服器已啟動")
HOST = '0.0.0.0'
PORT = 8888
ADDR = (HOST, PORT)

# 建立套接字
sock = socket(AF_INET, SOCK_DGRAM)

# 繫結地址
sock.bind(ADDR)

# 訊息收發
while True:
    data, addr = sock.recvfrom(1024)
    print("Receive from %s:%s" % (addr, data.decode()))
    sock.sendto(
"收到訊息".encode(), addr) #上面的while迴圈是死迴圈,所以這句不會執行。 # 所以無法訪問 This code is unreachable. sock.close()

【1】初版client端

from  socket import *
import sys

#命令列輸入伺服器地址
if len(sys.argv) < 3:
    print('''
        argv is error !!
        start as 
        python3 udp_client.py 127.0.0.1 8888
        ''')
    
raise HOST = sys.argv[1] PORT = int(sys.argv[2]) ADDR = (HOST,PORT) #建立套接字 sockfd = socket(AF_INET,SOCK_DGRAM) while True: data = input("訊息:") if not data: break sockfd.sendto(data.encode(),ADDR) data,addr = sockfd.recvfrom(1024) print("從服務端收到:",data.decode()) sockfd.close()