2016-06-28 33 views
0

我在python中使用socketIO-client包来测试我的服务器代码。 这是一个简单的客户端,但它总是需要大约1分钟运行以下行:使用python socketIO-client包初始化socketIO速度太慢

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

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