python服务器和javascript客户端之间的Websocket

问题描述

我对Web开发非常陌生,因此有关以下事项的任何提示将非常有用! 因此,使用javascript编写的客户端应该与python编写的服务器进行通信。我正在尝试在运行UBUNTU和Windows OS的两台PC之间建立Websocket连接 当我使用localhost在UBUNTU上运行它们时,它们工作得很好。 同样,当服务器在UBUNTU中并且客户端在Windows中时,一切正常。 仅当服务器位于Windows中并且客户端位于UBUNTU中时,我才不断遇到相同的错误。 “连接建立错误:net :: ERR_CONNECTION_TIMED_OUT。

我尝试关闭Windows中的防火墙设置,但没有用。

任何输入将不胜感激!

Python服务器

Collecting email
  Using cached https://files.pythonhosted.org/packages/71/e7/816030d3b0426c130040bd068be62b9213357ed02896f5d9badcf46d1b5f/email-4.0.2.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>",line 1,in <module>
      File "c:\python64bit\lib\site-packages\setuptools\__init__.py",line 18,in <module>
        import setuptools.version
      File "c:\python64bit\lib\site-packages\setuptools\version.py",in <module>
        import pkg_resources
      File "c:\python64bit\lib\site-packages\pkg_resources\__init__.py",line 36,in <module>
        import email.parser
      File "C:\Users\tpottel\AppData\Local\Temp\pip-install-v3uek9nu\email\email\parser.py",line 10,in <module>
        from cStringIO import StringIO
    ModuleNotFoundError: No module named 'cStringIO'

    ----------------------------------------
Command "python setup.py egg_info" Failed with error code 1 in C:\Users\tpottel\AppData\Local\Temp\pip-install-v3uek9nu\email\

JavaScript客户端

import asyncio
import websockets

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

    greeting = f"Hello {name}!"

    await websocket.send(greeting)
    print(f"> {greeting}")

start_server = websockets.serve(hello,"localhost",8765)

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

解决方法

好的,我发现了问题所在。 完全忘记了我必须更改路由器设置才能进行端口转发。