python修改代码实现 UDP 协议下的聊天机器人
时间: 2023-06-04 08:05:49 浏览: 63
好的,我可以帮助你修改代码实现 UDP 协议下的聊天机器人。你可以参考以下代码实现:
```python
import socket
server_ip = '127.0.0.1' # 服务器端IP
server_port = 12000 # 服务器端端口号
# 创建UDP套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 循环发送数据
while True:
# 获取要发送的消息
message = input('请输入要发送的消息:')
if message.strip() == '':
continue
# 发送消息到服务器
client_socket.sendto(message.encode(), (server_ip, server_port))
# 接收服务器发送的数据
data, address = client_socket.recvfrom(1024)
print('收到来自服务器端 %s:%d 的回复:%s' % (address[0], address[1], data.decode()))
# 关闭套接字
client_socket.close()
```
你可以根据你的需求修改客户端代码。对于服务端代码,你可以使用以下代码实现:
```python
import socket
server_ip = '127.0.0.1' # 服务器端IP
server_port = 12000 # 服务器端端口号
# 创建UDP套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定IP和端口号
server_socket.bind((server_ip, server_port))
print('服务器端已经开启,等待客户端连接...')
# 循环接收数据
while True:
# 接收客户端发送的数据
data, address = server_socket.recvfrom(1024)
print('收到来自客户端 %s:%d 的消息:%s' % (address[0], address[1], data.decode()))
# 发送回复数据到客户端
reply = '已经收到你的消息:%s' % data.decode()
server_socket.sendto(reply.encode(), address)
# 关闭套接字
server_socket.close()
```
请注意,此代码仅用作参考和学习使用。如果要在实际项目中使用此代码,请确保加入适当的数据校验和异常处理等功能。