我使用autobahn框架在python中创建一个websocket服务器。
我使用以下代码
url = "ws://0.0.0.0:" + str(server_port)
ServerFactory = MyServerFactory
factory = ServerFactory(url,
debug = True,
debugCodePaths = True)
factory.protocol = MyServerFactory
factory.setProtocolOptions(requireMaskedClientFrames = False, applyMask = True)
listenWS(factory)
reactor.run()
我不仅需要接受IP4上的连接,还需要接受IPv6。
在相同的代码中,我使用以下代码创建HTTP服务器:
ad = MyWebAdmin()
ad.server = ServerFactory
web = Site(ad)
web.log = lambda _: None # disable annoyingly verbose request logging
reactor.listenTCP(options.webport, web)
它既可以收听IPv4又可以收听IPv6套接字。