我在python中使用socketIO-client包来测试我的服务器代码。 它是一个简单的客户端,但运行以下行总是需要大约1分钟:
socketIO = SocketIO('localhost',3003)
我想知道如何解决这个问题?
我使用eventlet并且没有在虚拟环境中安装socketIO-client。 它会导致这个问题吗?
from socketIO_client import SocketIO, BaseNamespace
from datetime import datetime
Devices = {}
temp_time = datetime.now()
class Namespace(BaseNamespace):
def on_connect(self):
print('[Connected]')
for device in Devices:
self.emit('register', device)
time.sleep(1)
def funcA():
do something
def funcB():
do something
print '1:', datetime.now()-temp_time
socketIO = SocketIO('localhost', 3003)
print '2:', datetime.now()-temp_time
socketIO.define(Namespace)
socketIO.on('eventA', funcA)
socketIO.on('eventB', funcB)
socketIO.wait()
客户端部分的输出:
1: 0:00:00.000074
DEBUG:root:localhost:3003/socket.io [transport selected] xhr-polling
DEBUG:root:localhost:3003/socket.io [heartbeat reset]
2: 0:01:00.019828
DEBUG:root:localhost:3003/socket.io [socket.io packet received] 0
[Connected]
答案 0 :(得分:-1)
我的Python套接字ioclient非常快速地连接到外部node.js服务器。 这可能是路由/ DNS问题 Localhost有时会出现奇怪的路由行为。 使用127.0.0.1而不是localhost作为消除路由/ DNS超时的URL