写一个基于tcp的简易聊天机器人
时间: 2024-05-09 10:14:57 浏览: 151
基于tcp的聊天程序
5星 · 资源好评率100%
好的,我可以给你提供一个基于TCP协议的简易聊天机器人的代码示例。
服务端代码:
```python
import socket
# 创建一个TCP/IP套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定IP地址和端口号
server_address = ('localhost', 8888)
server_socket.bind(server_address)
# 监听客户端连接请求
server_socket.listen(1)
while True:
# 等待客户端连接
print('等待客户端连接...')
client_socket, client_address = server_socket.accept()
print('客户端已连接:', client_address)
# 发送欢迎消息
welcome_msg = '你好,我是聊天机器人,请问你有什么问题吗?'
client_socket.sendall(welcome_msg.encode('utf-8'))
# 接收客户端消息并回复
while True:
# 接收客户端消息
data = client_socket.recv(1024)
if not data:
break
# 处理客户端消息
msg = data.decode('utf-8')
print('接收到客户端消息:', msg)
# 回复客户端消息
reply_msg = '我不知道怎么回答你的问题。'
client_socket.sendall(reply_msg.encode('utf-8'))
# 关闭客户端连接
client_socket.close()
```
客户端代码:
```python
import socket
# 创建一个TCP/IP套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
server_address = ('localhost', 8888)
client_socket.connect(server_address)
# 接收欢迎消息
welcome_msg = client_socket.recv(1024)
print(welcome_msg.decode('utf-8'))
# 发送消息并接收回复
while True:
# 发送消息
msg = input('请输入您的问题:')
client_socket.sendall(msg.encode('utf-8'))
# 接收回复消息
data = client_socket.recv(1024)
print('聊天机器人回复:', data.decode('utf-8'))
# 关闭连接
client_socket.close()
```
这是一个非常简单的聊天机器人,它接收客户端发送的消息,并回复一个固定的消息。你可以根据需求修改服务端的消息处理逻辑以实现更复杂的功能。
阅读全文