Python 在…之后挂起websocket.recv()。。。某物

Python 在…之后挂起websocket.recv()。。。某物,python,websocket,python-asyncio,Python,Websocket,Python Asyncio,为这个模棱两可的问题道歉-我实际上不知道我做了什么改变,使它无法工作 我正在用Python使用WebSocket开发一个文本冒险引擎(开源项目)。这在asyncio和websockets模块中运行良好。我移动了一些东西,现在它取决于接收输入 我撒了谎——这根本没用。但是,此代码在以下情况下确实有效: #!/usr/bin/python3 import asyncio import websockets import time async def hello(websocket, path):

为这个模棱两可的问题道歉-我实际上不知道我做了什么改变,使它无法工作

我正在用Python使用WebSocket开发一个文本冒险引擎(开源项目)。这在asyncio和websockets模块中运行良好。我移动了一些东西,现在它取决于接收输入

我撒了谎——这根本没用。但是,此代码在以下情况下确实有效:

#!/usr/bin/python3

import asyncio
import websockets
import time

async def hello(websocket, path):
    while True:
        name = await websocket.recv()
        print("< {}".format(name))

        greeting = ''.join(name + "... " for x in range(5))
        await websocket.send(greeting)
        print("> {}".format(greeting))

        time.sleep(0.1);

start_server = websockets.serve(hello, '', 26231)

asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()

下一行的打印永远不会执行。

如果您还没有决定使用websockets包,我建议您试试。我相信如果你刚开始使用WebSocket,它会更容易使用


有一个完整的echo服务器示例。

请不要:我删除了我在Exchange上的帖子。你能帮我恢复否决票吗?我已经去实施了高速公路——到目前为止看起来很有希望!我还没有达到我想要分割成两个协同程序的程度(就像我在提交代码中提到的那样),但是我认为这样做会容易得多
data = await self.websocket.recv()