Autobahn Python Errno 99无法分配请求的地址

时间:2015-06-03 06:25:14

标签: python sockets autobahn

在尝试设置Websocket服务器时,遇到以下错误。 相同的代码在LAN IP' 192.168.x.x'下工作正常,但无法使用公共IP /域名

这是错误跟踪

Traceback (most recent call last):
  File "WSServer.py", line 19, in <module>
    server = loop.run_until_complete(coro)
  File "/usr/lib64/python3.4/asyncio/base_events.py", line 208, in run_until_complete
    return future.result()
  File "/usr/lib64/python3.4/asyncio/futures.py", line 243, in result
    raise self._exception
  File "/usr/lib64/python3.4/asyncio/tasks.py", line 319, in _step
    result = coro.send(value)
  File "/usr/lib64/python3.4/asyncio/base_events.py", line 579, in create_server
    % (sa, err.strerror.lower()))
OSError: [Errno 99] error while attempting to bind on address ('121.6.x.x', 9000): cannot assign requested address

Python服务器代码:

from autobahn.asyncio.websocket import WebSocketServerProtocol

class MyServerProtocol(WebSocketServerProtocol):
    def onMessage(self, payload, isBinary):
        print("message received")
        self.sendMessage(payload, isBinary)

if __name__ == '__main__':

    import asyncio
    from autobahn.asyncio.websocket import WebSocketServerFactory
    factory = WebSocketServerFactory()
    factory.protocol = MyServerProtocol
    loop = asyncio.get_event_loop()
    coro = loop.create_server(factory, '121.6.x.x', 9000)
    server = loop.run_until_complete(coro)

    try:
        loop.run_forever()
    except KeyboardInterrupt:
        pass
    finally:
        server.close()
        loop.close()

问题可能与服务器设置有关吗?例如主机名,SELinux

0 个答案:

没有答案