用户:张翌宸14查看:6 回复:3 评论:6 创建时间:2024-07-23T10:09:56
【作品展示】

【作品介绍】
服务器晚上21点后开启请提前保存至电脑💻本地
【作品源代码】
import socket
import threading
# 服务器地址和端口
server_host = '127.0.0.1'
server_port = 12345
# 创建socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定地址和端口
server_socket.bind((server_host, server_port))
# 监听连接
server_socket.listen()
print(f"服务器已启动,等待客户端连接...")
clients = []
nicknames = []
def broadcast(message):
for client in clients:
client.send(message)
def handle(client):
while True:
try:
message = client.recv(1024)
broadcast(message)
except:
index = clients.index(client)
clients.remove(client)
client.close()
nickname = nicknames[index]
nicknames.remove(nickname)
broadcast(f"{nickname} 离开了聊天室!".encode('utf-8'))
break
def receive():
while True:
client, address = server_socket.accept()
print(f"连接到 {str(address)}")
client.send("NICK".encode('utf-8'))
nickname = client.recv(1024).decode('utf-8')
nicknames.append(nickname)
clients.append(client)
print(f"昵称是 {nickname}!")
broadcast(f"{nickname} 加入了聊天室!".encode('utf-8'))
client.send("连接到服务器!".encode('utf-8'))
thread = threading.Thread(target=handle, args=(client,))
thread.start()
receive()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn