用python实现的UDP套接字编程,客户端和服务端通信

最近在看计算机网络自顶向下方法,里面有UDP套接字编程,是用python写的,但是上面的python版本好像有点旧,我电脑上用的python3.7,上面的代码有些是有问题的,网上搜了一下,这里记录一下:
UDPClient.py文件所对应的代码

from socket import *    # 导入socket包
serverName='127.0.0.1'  #  要发送的目的主机IP地址
serverPort=12000        #   目的主机接受信息的端口号
clientSocket=socket(AF_INET,SOCK_DGRAM) # 建立客户端套接字
message=input('Input a  sentence')  # 输入函数,提示输入一段话
# 客户端将信息发送到服务端,注意发送的时候数据类型是bytes
clientSocket.sendto(message.encode('utf-8'),(serverName,serverPort))
# 发送数据后,客户端接受从服务端返回的信息
modifiedMessage,serverAddress=clientSocket.recvfrom(2048)
# 由于接收到的数据是bytes类型,需要将其解码为字符串类型
print(modifiedMessage.decode('utf-8'))
# 关闭连接
clientSocket.close()

UDPServer.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)
    print(message.dencode('utf-8'))
    modifiedMessage=message.upper() # 将字符串全部变成大写
    serverSocket.sendto(modifiedMessage.encode('utf-8'),clientAddress)

猜你喜欢

转载自blog.csdn.net/dream_follower/article/details/94649670