【发布时间】:2018-05-03 03:19:50
【问题描述】:
我的后端(nodejs)服务器通过var clients = io.of('/clients') 定义了一个新的命名空间。它看起来像这样:
clients.on('connection', function(socket) {
socket.on('descriptor', function(data) {
// do something cool here
}
});
我的 python 客户端看起来像这样:
from socketIO_client import SocketIO,
class ClientNameSpace(BaseNamespace):
def on_connect(self):
logger.info("connected")
socketIO.emit("descriptor", "some cool data")
socketIO = SocketIO('127.0.0.1', 80)
clientSocket = socketIO.define(ClientNameSpace, '/clients')
socketIO.wait()
运行此代码,服务器中的描述符方法永远不会被调用(我假设它不在/clients 命名空间中)。但是我不能在ClientNameSpace 中使用clientSocket,因为它说它没有定义。我假设一旦SocketIO() 构造函数被激活并且clientSocket 直到之后才被创建,该类就会被激活。
【问题讨论】:
标签: python node.js socket.io namespaces