欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-16 11:04:57
...

准备两段代码

一段时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端服务

使用python3.x写一个基于udp通信的小例子
启动效果 可以使用linux命令 "netstat -tlnup"发现确实已经监听了对应的端口号
使用python3.x写一个基于udp通信的小例子

启动client端服务

使用python3.x写一个基于udp通信的小例子
我们可以看见我们随意输入了四个字符“agss”服务器给我们显示了大写的字符回来

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

我们通信的过程中可以打开“Wireshark”进行抓包
使用python3.x写一个基于udp通信的小例子
这就是我们发出的数据包
限免看看服务器返回的数据包
使用python3.x写一个基于udp通信的小例子
我们完成了一次成功的通信!!!

相关标签: udp