猫史档案馆


【Python作品分享】通信软件服务器

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


【作品展示】

center_image

 

【作品介绍】

服务器晚上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


回复

上一页1 页 / 共 1下一页
|宸宸||宸宸|

pycharm可以吧

点赞0


评论


|宸宸||宸宸|

以后能早点开起码

 

点赞0


评论


thewindows7thewindows7

请问你能保证安全可靠吗?

点赞0


评论