python在线聊天Tcp服务器代码
时间: 2023-11-12 20:16:59 浏览: 66
好的,以下是一个简单的Python TCP服务器代码,实现在线聊天功能:
```
import socket
import threading
# 设置服务器相关信息
HOST = 'localhost' # 主机名
PORT = 8888 # 端口号
# 存储所有客户端连接的socket对象
client_sockets = []
def handle_client(client_socket):
"""
处理客户端连接的函数
"""
while True:
try:
# 接收客户端消息
data = client_socket.recv(1024)
if not data:
break
# 将消息发送给所有客户端
for sock in client_sockets:
sock.sendall(data)
except:
break
# 关闭客户端连接
client_sockets.remove(client_socket)
client_socket.close()
def start_server():
"""
启动服务器
"""
# 创建socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定地址
server_socket.bind((HOST, PORT))
# 监听连接
server_socket.listen(5)
print('服务器已启动,等待客户端连接...')
while True:
# 接收客户端连接
client_socket, addr = server_socket.accept()
print(f'客户端 {addr} 已连接')
# 将客户端socket对象存储到列表中
client_sockets.append(client_socket)
# 创建新线程处理客户端连接
t = threading.Thread(target=handle_client, args=(client_socket,))
t.start()
if __name__ == '__main__':
start_server()
```
使用方法:
1. 将上述代码保存为 server.py 文件;
2. 在命令行中运行 `python server.py` 启动服务器;
3. 客户端连接服务器,即可实现在线聊天功能。
阅读全文