Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.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
Javascript 当另一个协同程序正在等待下一条消息时,我不断收到无法调用recv()的错误_Javascript_Python_Websocket - Fatal编程技术网

Javascript 当另一个协同程序正在等待下一条消息时,我不断收到无法调用recv()的错误

Javascript 当另一个协同程序正在等待下一条消息时,我不断收到无法调用recv()的错误,javascript,python,websocket,Javascript,Python,Websocket,当我两次运行我的paddleLogic函数时,我得到一个错误“当另一个协同程序已经在等待下一条消息时,无法调用recv()”,即使我正在使用wait来确保它们不会同时尝试接收 我在第二次运行代码时没有调用逻辑函数,一切正常 leftPaddlePos=等待桨逻辑(websocket,leftPaddlePos) 右桨位置=等待桨逻辑(对手[websocket],右桨位置) 异步逻辑(插座、pos): 尝试: key=wait asyncio.wait_for(socket.recv(),time

当我两次运行我的paddleLogic函数时,我得到一个错误“当另一个协同程序已经在等待下一条消息时,无法调用recv()”,即使我正在使用wait来确保它们不会同时尝试接收

我在第二次运行代码时没有调用逻辑函数,一切正常

leftPaddlePos=等待桨逻辑(websocket,leftPaddlePos)
右桨位置=等待桨逻辑(对手[websocket],右桨位置)
异步逻辑(插座、pos):
尝试:
key=wait asyncio.wait_for(socket.recv(),timeout=0.01)
如果键==“1”且位置>0:
位置=位置-1
elif键==“2”且位置<60:
位置=位置+1
睡眠时间(0.003)
除asyncio.TimeoutError外:
pos=pos
返回位置

抱歉,如果这篇文章有点乱,这是我第一次问一个关于stackoverflow的问题。如果您需要更多信息/代码,我很乐意提供。

您从哪里获得插座

我们有的是合作项目。它们是由它们彼此让出控制权来安排的。它们在调用
wait
时产生控制权。您的
socket.recv
还通过产生控制在后台进行一些等待,因此,如果网络中的数据无法立即获得,则会输入两次
recv

我想你会过得更好。否则,我将使用
select()

(我甚至可以假设,像pong这样的实时游戏更容易以完全同步的方式实现,以帧速率为节奏。)

使用socket.receive()在接收消息之前,我是否需要知道接收消息的字节数?