python聊天程序代码
以下是一个基于 Python 的聊天程序代码示例:
import socket
import threading
# 创建一个 socket 对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 定义主机和端口号
host = '127.0.0.1'
port = 9999
# 绑定主机和端口号
server_socket.bind((host, port))
# 开始监听客户端连接
server_socket.listen()
# 存储客户端套接字的列表
client_sockets = []
# 用于接收客户端消息的函数
def receive_message(client_socket):
while True:
try:
# 接收客户端发送的消息
message = client_socket.recv(1024).decode('utf-8')
if message:
# 打印客户端发送的消息
print(f'Received message: {message}')
# 向所有客户端广播消息
for socket in client_sockets:
if socket != client_socket:
socket.send(message.encode('utf-8'))
else:
# 如果客户端关闭了连接,则从列表中删除套接字
client_sockets.remove(client_socket)
client_socket.close()
break
except:
# 如果发生错误,则从列表中删除套接字
client_sockets.remove(client_socket)
client_socket.close()
break
# 用于接受客户端连接的函数
def accept_connections():
while True:
# 接受客户端连接
client_socket, client_address = server_socket.accept()
# 将客户端套接字添加到列表中
client_sockets.append(client_socket)
# 打印客户端连接信息
print(f'Connection established with {client_address}')
# 创建一个新线程用于接收客户端消息
thread = threading.Thread(target=receive_message, args=(client_socket,))
thread.start()
# 启动接受客户端连接的函数
accept_connections()
使用此代码可以运行一个简单的聊天程序,可在多个客户端之间进行实时通信
原文地址: https://www.cveoy.top/t/topic/edWu 著作权归作者所有。请勿转载和采集!