このプログラムがすべきことは、2 つのクライアントからの入力を同時に受け入れて出力することだけですが、代わりに、接続する最初のクライアントから 1 つの入力を受け入れ、2 番目のクライアントからの入力を無限に受け入れ始めますが、最初のクライアントからはもう受け入れません。このコードを修正する方法に関するヒントはありますか? (下に示された)
import socket
import select
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("127.0.0.1", 4000))
s.listen(5)
sockets = []
sockets.append(s)
while True:
(read, write, err) = select.select(sockets, [], [])
for socket in read:
if (socket == s):
(c, a) = socket.accept()
sockets.append(c)
print ("Received connection from: ", a)
message = c.recv(80).decode()
print (message + " from " + str(a[1]))