使用特定的路径和名称空间连接到Socket.IO服务器 [英] Connect to Socket.IO server with specific path and namespace
本文介绍了使用特定的路径和名称空间连接到Socket.IO服务器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的Node.js应用程序运行在URL http://www.example.com/myapp/.
My Node.js application is running at URL http://www.example.com/myapp/.
我已经用自定义名称空间配置了Socket.IO服务器(版本1.3.5).这是一个示例代码片段:
I have configured a Socket.IO server (version 1.3.5) with a custom namespace. Here is an example code snippet:
var server = http.createServer(...);
var io = socketio(server);
io
.of('/a/b/c')
.on('connection', function (socket) {
socket.emit('update', {msg: '/a/b/c'});
});
我不知道如何从客户端连接到该服务.我的猜测(这些都不起作用):
I can't figure out how to connect to this service from the client. My guesses (none of these is working):
io.connect('http://www.example.com/myapp/a/b/c');
io.connect('http://www.example.com', {path: '/myapp/a/b/c'});
io.connect('', {path: '/myapp/a/b/c'});
io.connect('http://www.example.com/a/b/c', {path: '/myapp'});
io.connect('http://www.example.com', {path: '/myapp/socket.io/a/b/c'});
推荐答案
在服务器上,请不要忘记指定路径:
On your server, don't forget to specify the path as well:
var io = require('socket.io')(http, { path: '/myapp/socket.io'});
io
.of('/my-namespace')
.on('connection', function(socket){
console.log('a user connected with id %s', socket.id);
socket.on('my-message', function (data) {
io.of('my-namespace').emit('my-message', data);
// or socket.emit(...)
console.log('broadcasting my-message', data);
});
});
在您的客户端上,不要混淆名称空间和路径:
On your client, don't confuse namespace and path:
var socket = io('http://www.example.com/my-namespace', { path: '/myapp/socket.io'});
这篇关于使用特定的路径和名称空间连接到Socket.IO服务器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文