这次较上个版本《Python 网络编程之搭建简易服务器和客户端》https://only-me.blog.csdn.net/article/details/135251171增加了:
需要新建两个py文件,一个用来运行服务器端,一个用来运行客户端。进行测试时,需要保证服务器端和客户端都在运行。
代码如下:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(('', 25555))
print('[+] Server started........')
while True:
try:
data, client_addr = s.recvfrom(1024)
print('[+] From: ', client_addr)
print('[+] Received: ', data.decode('utf-8'))
message = data.decode('utf-8')
s.sendto(message.encode('utf-8'), client_addr)
if message == '0':
break
except KeyboardInterrupt:
break
print('[+] Server Close.........')
s.close()
可能看不懂的代码解释如下:
代码如下:
import socket
c = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
while True:
try:
message = input("please input:")
c.sendto(message.encode('utf-8'), ('127.0.0.1', 25555))
data, server_address = c.recvfrom(1024)
print(data.decode('utf-8'))
except KeyboardInterrupt:
break
c.close()
可能看不懂的代码解释如下:
服务器端代码:
该代码创建了一个UDP服务器,监听本地主机(所有网络接口)的25555端口。服务器在接收到客户端发送的消息后,将接收到的消息原样返回给客户端。当服务器接收到消息内容为’0’时,会跳出循环并关闭服务。
客户端代码:
该代码创建了一个UDP客户端,它不断接收用户的输入,并将输入的消息发送至服务器(127.0.0.1:25555)。然后,客户端等待服务器的响应并打印出来。如果用户按下Ctrl+C,则客户端将停止运行并关闭连接。