基于python的网络聊天代码
时间: 2023-12-10 10:36:54 浏览: 39
这里我提供一个基于Python的简单网络聊天代码,使用socket实现:
服务端代码:
```python
import socket
# 创建socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 设置IP和端口号
IP = '127.0.0.1'
PORT = 8888
# 绑定socket对象到IP和端口号
server_socket.bind((IP, PORT))
# 监听客户端连接
server_socket.listen(1)
print('Waiting for client connection...')
# 接受客户端连接
client_socket, client_address = server_socket.accept()
print('Client connected from:', client_address)
# 服务端接收消息并回复
while True:
# 接收客户端消息
client_message = client_socket.recv(1024).decode()
# 如果客户端断开连接则退出循环
if not client_message:
break
print('Received message:', client_message)
# 回复客户端消息
server_message = input('Enter your message: ')
client_socket.sendall(server_message.encode())
# 关闭socket连接
client_socket.close()
server_socket.close()
```
客户端代码:
```python
import socket
# 创建socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 设置IP和端口号
IP = '127.0.0.1'
PORT = 8888
# 连接服务端
client_socket.connect((IP, PORT))
print('Connected to server...')
# 客户端发送消息并接收服务端回复
while True:
# 发送消息到服务端
client_message = input('Enter your message: ')
client_socket.sendall(client_message.encode())
# 接收服务端消息
server_message = client_socket.recv(1024).decode()
# 如果服务端断开连接则退出循环
if not server_message:
break
print('Received message:', server_message)
# 关闭socket连接
client_socket.close()
```
使用方法:
1. 在服务端运行server.py文件,等待客户端连接。
2. 在客户端运行client.py文件,输入要发送的消息。
3. 服务端会接收到客户端发送的消息并回复,客户端也会接收到服务端的回复。
注意事项:
1. IP和端口号必须与服务端相同。
2. 服务端必须先运行,客户端才能连接。
3. 可以在代码中修改消息的编码方式和缓冲区大小。