使用python socketIO-client软件包初始化socketIO太慢了

时间:2016-06-28 18:58:55

标签: python socket.io client

我在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]

1 个答案:

答案 0 :(得分:-1)

我的Python套接字ioclient非常快速地连接到外部node.js服务器。 这可能是路由/ DNS问题 Localhost有时会出现奇怪的路由行为。 使用127.0.0.1而不是localhost作为消除路由/ DNS超时的URL