UDPClient.py
# -*- coding: utf-8 -*-
from socket import *
serverName = '127.0.0.1' # 服务器地址,本例中使用一台远程主机
serverPort = 12000 # 服务器指定的端口
clientSocket = socket(AF_INET, SOCK_DGRAM) # 创建UDP套接字,使用IPv4协议
message = raw_input('Input lowercase sentence:').encode() #用户输入信息,并编码为bytes以便发送
clientSocket.sendto(message, (serverName, serverPort)) # 将信息发送到服务器
modifiedMessage, serverAddress = clientSocket.recvfrom(2048) # 从服务器接收信息,同时也能得到服务器地址
print(modifiedMessage.decode()) # 显示信息
clientSocket.close() # 关闭套接字
UDPServer.py
# -*- coding: utf-8 -*-
from socket import *
serverPort = 12000 # 服务器指定的端口
serverSocket = socket(AF_INET, SOCK_DGRAM) # 创建UDP套接字,使用IPv4协议
serverSocket.bind(('',serverPort)) # 将套接字绑定到之前指定的端口
print("The server in ready to receive")
while True: # 服务器将一直接收UDP报文
message, clientAddress = serverSocket.recvfrom(2048) # 接收客户端信息,同时获得客户端地址
modifiedMessage = message.upper() # 将客户端发来的字符串变为大写
serverSocket.sendto(modifiedMessage, clientAddress) # 通过已经获得的客户端地址,将修改后的字符串发回客户端