Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 两个客户端可以';t在套接字客户机-服务器连接中相互通信_Python_Multithreading_Sockets_Client Server_Output - Fatal编程技术网

Python 两个客户端可以';t在套接字客户机-服务器连接中相互通信

Python 两个客户端可以';t在套接字客户机-服务器连接中相互通信,python,multithreading,sockets,client-server,output,Python,Multithreading,Sockets,Client Server,Output,当一个客户机发送输入时,在第二个客户机中不会打印消息(即消息未接收)。 当第二个客户机发送输入时,在第一个客户机中未打印消息(即未收到消息) 我了解到,client.send(message)在服务器脚本中,它将消息发送到连接到服务器的所有客户端,因此您无需指定发送给谁 客户 服务器 两个客户端都有以下输出: Connection from : 127.0.0.1:1720 [+] New receive thread started for 127.0.0.1:1720...Everythin

当一个客户机发送输入时,在第二个客户机中不会打印消息(即消息未接收)。 当第二个客户机发送输入时,在第一个客户机中未打印消息(即未收到消息)

我了解到,
client.send(message)
在服务器脚本中,它将消息发送到连接到服务器的所有客户端,因此您无需指定发送给谁

客户 服务器 两个客户端都有以下输出:

Connection from : 127.0.0.1:1720
[+] New receive thread started for 127.0.0.1:1720...Everything went successful!
b1
Entered run method
b2
[+] New send thread started for 127.0.0.1:1720...Everything went successful!
b3
Enter command:Hello
Enter command:Hello
这是两个客户端发送相同消息时的情况(因此两个客户端的输出中都有
Enter命令:Hello

如果客户端1发送“你好”而客户端2发送“你好”:客户端1将具有as输出
Hello
,客户端2将具有as输出
Hi
,而不是在输出
Hi
Hello
中接收和打印


注意:如果您向我展示我的错误,而不是向我展示新版本,我将不胜感激。

您的错误是,您只将来自客户的文本发送回同一客户:

self.client.send(response)

也就是说,Client
c1
和Client
c2
是独立的,彼此不认识。

但正如我所说,我了解到,
Client.send(message)
将字符串
message
发送给所有收听服务器的人!我错了吗?我该如何修复它?
Connection from : 127.0.0.1:1720
[+] New receive thread started for 127.0.0.1:1720...Everything went successful!
b1
Entered run method
b2
[+] New send thread started for 127.0.0.1:1720...Everything went successful!
b3
Enter command:Hello
Enter command:Hello
self.client.send(response)