python 網路程式設計 udp示例
阿新 • • 發佈:2019-02-15
由於UDP是無連線的,與TCP的區別在伺服器端表現為,無需監聽函式listen()對客戶端的連線進行監聽; 在客戶端的表現為客戶端的socket無需與伺服器建立連線就能夠進行資料的傳送與接收,即無需connect()函式。
伺服器端程式碼,udpServer.py:
from socket import * from time import ctime HOST = '' PORT = 20123 BUFSIZ = 128 ADDR = (HOST, PORT) #建立一個伺服器端UDP套接字 udpServer = socket(AF_INET, SOCK_DGRAM) #繫結伺服器套接字 udpServer.bind(ADDR) while True: print 'waiting for message...' #接收來自客戶端的資料 data, addr = udpServer.recvfrom(BUFSIZ) #向客戶端傳送資料 udpServer.sendto('[%s] %s' % (ctime(), data), addr) print '...received from and returned to:', addr udpServer.close()
客戶端程式碼,udpClient.py:
from socket import * HOST = 'localhost' PORT = 20123 BUFSIZ = 128 ADDR = (HOST, PORT) #建立客戶端UDP套接字 udpClient = socket(AF_INET, SOCK_DGRAM) while True: data = raw_input('>') if not data: break #向伺服器端傳送資料 udpClient.sendto(data,ADDR) #接收來自伺服器端的資料 data, ADDR = udpClient.recvfrom(BUFSIZ) print data if not data: break udpClient.close()