使用下列简单的客户-服务器应用程序来演示对于UDP的套接字编程:
- 客户从其键盘读取一行字符并将数据向服务器发送。
- 服务器接收该数据并将这些字符转换为大写。
- 服务器将修改的数据发送给客户。
- 客户接收修改的数据并在其监视器上将该行显示出来。
应用程序客户端的代码
# UDPclient.py
from socket import *
serverName = 'localhost'
serverPort = 12000
clientSocket = socket(AF_INET, SOCK_DGRAM)
message = input('Input lowercase sentence:')
clientSocket.sendto(message.encode('utf-8'),(serverName,serverPort))
modifiedMessage, serverAddress = clientSocket.recvfrom(2048)
print(modifiedMessage.decode())
clientSocket.close()
应用程序服务端的代码
# UPDserver.py
from socket import *
serverPort = 12000
serverSocket =socket(AF_INET, SOCK_DGRAM)
serverSocket.bind(('',serverPort))
print("The server is ready to receive")
while True:
message, clientAddress = serverSocket.recvfrom(2048)
modifiedMessage = message.upper()
serverSocket.sendto(modifiedMessage,clientAddress)