基于TCP协议的简易聊天机器人代码
时间: 2023-12-13 10:04:45 浏览: 222
Python基于TCP实现会聊天的小机器人功能示例
这是一个基于TCP协议的简易聊天机器人代码示例(使用Python实现):
服务端代码:
```python
import socket
# 设置服务器IP地址和端口号
SERVER_IP = '127.0.0.1'
SERVER_PORT = 8888
# 创建socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定IP和端口号
server_socket.bind((SERVER_IP, SERVER_PORT))
# 监听端口
server_socket.listen(1)
print('等待客户端连接...')
# 接受客户端连接
client_socket, client_address = server_socket.accept()
print('来自{}的客户端已连接到服务器'.format(client_address))
# 循环接收消息并回复
while True:
# 接收消息
recv_data = client_socket.recv(1024).decode()
print('收到客户端消息:{}'.format(recv_data))
# 回复消息
if recv_data == '你好':
reply_data = '你好呀!'
elif recv_data == '你是谁':
reply_data = '我是聊天机器人!'
elif recv_data == '再见':
reply_data = '再见!'
break
else:
reply_data = '我不知道你在说什么...'
# 发送回复消息
client_socket.send(reply_data.encode())
print('回复客户端消息:{}'.format(reply_data))
# 关闭socket连接
client_socket.close()
server_socket.close()
```
客户端代码:
```python
import socket
# 设置服务器IP地址和端口号
SERVER_IP = '127.0.0.1'
SERVER_PORT = 8888
# 创建socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
client_socket.connect((SERVER_IP, SERVER_PORT))
# 循环发送消息和接收回复
while True:
# 发送消息
send_data = input('请输入消息:')
client_socket.send(send_data.encode())
# 接收回复消息
recv_data = client_socket.recv(1024).decode()
print('收到服务器回复:{}'.format(recv_data))
# 结束聊天
if recv_data == '再见':
break
# 关闭socket连接
client_socket.close()
```
这个聊天机器人支持回复以下几种消息:
- “你好”:回复“你好呀!”
- “你是谁”:回复“我是聊天机器人!”
- “再见”:回复“再见!”并结束聊天
- 其他消息:回复“我不知道你在说什么...”
阅读全文