python聊天服务器代码
时间: 2023-07-23 12:36:05 浏览: 107
以下是一个简单的Python聊天服务器代码示例:
```python
import socket
import threading
# 服务器地址和端口号
HOST = '127.0.0.1'
PORT = 8888
# 创建socket对象
server_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定地址和端口号
server_sock.bind((HOST, PORT))
# 监听连接
server_sock.listen()
clients = []
def broadcast(message):
"""
广播消息给所有客户端
"""
for client in clients:
client.send(message)
def handle_client(client):
"""
处理客户端连接
"""
while True:
try:
# 接收客户端发送的消息
message = client.recv(1024)
# 广播消息给所有客户端
broadcast(message)
except:
# 客户端断开连接
clients.remove(client)
client.close()
broadcast(f'{client} 已离开聊天室'.encode())
break
while True:
# 接受客户端连接
client_sock, client_address = server_sock.accept()
clients.append(client_sock)
print(f'{client_address} 进入了聊天室')
broadcast(f'{client_address} 进入了聊天室'.encode())
# 处理客户端连接
client_thread = threading.Thread(target=handle_client, args=(client_sock,))
client_thread.start()
```
注意:这只是一个简单的示例,还有很多需要改进的地方,例如处理异常和错误、控制连接数等。