gpt4 book ai didi

python-3.x - 多线程python3服务器

转载 作者:行者123 更新时间:2023-12-03 12:08:23 26 4
gpt4 key购买 nike

大家好,我正在尝试制作多线程聊天服务器...所以我的服务器是多线程的,但它只将数据发送回发送邮件的同一客户端。我不确定该如何解决。对于聊天室,我需要将其发送给那里的每个人。

这是服务器

import socket
import threading

host = '127.0.0.1'
port = 4559


s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

s.bind(("127.0.0.1", 4559))
s.listen(5)

def accept_send(conn):
message = b'welcome to hex0server'
conn.sendall(message)
while True:
data = conn.recv(1024)
print(data.decode('utf-8'))
conn.sendall(data)



while 1:
conn, addr = s.accept()
threading.Thread(target=accept_send, args=(conn,)).start()

只是一个简单的客户
import socket

s = socket.socket()
s.connect(('127.0.0.1', 4559))

while True:
recieved = s.recv(1024).decode('utf-8')
print("rec: " + recieved)
inpa = input("Enter message: " )
inpa_enc = inpa.encode("utf-8")
s.sendall(inpa_enc)

会就如何使其工作提供一些建议。

最佳答案

我建议您只是在代码顶部的某个地方创建一个空列表,然后在accept_send中,使用append()conn放入列表中。然后,当您需要向聊天室发送消息时,只需遍历列表并将其发送给列表中的每个人即可。

关于python-3.x - 多线程python3服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51825028/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com