网页客户端上的命名空间对我来说很好用:
// Browser side JS: processed by browserify
var io = require('socket.io-client')('/namespace');
io.emit("message", data);
服务器接收连接并且消息没有任何问题。但是,如果我尝试使用node.js命名空间的客户端应用程序不起作用。代码如下:
var io = require('socket.io-client');
var socket = io.connect('http://localhost:3000', {
reconnect: true,
path: '/namespace'
});
// Add a connect listener
socket.on('connect', function(socket) {
console.log('Test connected!');
});
socket.emit('message', data);
在这种情况下,运行node test.js
的客户端永远不会连接到服务器,也不会发出任何消息。在服务器端控制台上,我看到以下输出:
GET /namespace/?EIO=3&transport=polling&t=MT0IoBp&b64=1 404 22.327 ms - 1423
有什么想法吗?错误还是需要以其他方式设置名称空间?
答案 0 :(得分:0)
将node.js客户端代码更改为
var socket = io.connect('http://localhost:3000/namespace', {
reconnect: true
});
工作正常!