使用python3.x写一个基于udp通信的小例子

准备两段代码

一段时client端,另一段是server端

client端代码

from socket import *
serverName = "hostname" # 这里替换为你的服务器地址
serverPort = 12000 # 我们使用12000端口进行通信
clientSocket = socket(AF_INET, SOCK_DGRAM)
message = input('input lowercase sentence:')
clientSocket.sendto(message.encode(), (serverName, serverPort))
modifiedMessage,serverAddress = clientSocket.recvfrom(2048)
print(modifiedMessage.decode())
clientSocket.close()

server端代码

from socket import *
serverPort = 12000 # 同样使用12000端口监听
serverSocket = socket(AF_INET, SOCK_DGRAM)

serverSocket.bind(('', serverPort))
print('The server is ready to recrive')

while True:
        message, clientAddress = serverSocket.recvfrom(2048)
        modifiedMessage = message.decode().upper()
        serverSocket.sendto(modifiedMessage.encode(), clientAddress)


启动服务

首先启动server端服务

启动成功
启动效果 可以使用linux命令 "netstat -tlnup"发现确实已经监听了对应的端口号
启动效果

启动client端服务

成功响应
我们可以看见我们随意输入了四个字符“agss”服务器给我们显示了大写的字符回来

抓包看看内容确实是服务器返回的

我们通信的过程中可以打开“Wireshark”进行抓包
发出的数据
这就是我们发出的数据包
限免看看服务器返回的数据包
成功通信
我们完成了一次成功的通信!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章