我有当前的设置:
运行在端口80上的
上
因此,任何以/ nodejs /开头的请求都将被重定向到8888上的nodejs web服务器。
其他任何内容都将重定向到端口3000上的rails服务器。
目前,Socket.io需要io.connect的连接url。
注意,/nodejs/socket.io/socket.io.js是有效的,并返回所需的socket.io客户端js库。
但是,我无法在我的服务器上指定connection_url到/nodejs/。
我尝试过http://myapp.com/nodejs和其他变体,但是我仍然得到了下面的url http://myapp/socket.io/1/?t=1331851089106中的404错误
是否可以告诉io.connect在每个连接url前加上/nodejs/?
发布于 2014-07-06 03:06:57
从Socket.io版本1开始,资源已被path所取代。用途:
var socket = io('http://localhost', {path: '/nodejs/socket.io'});
发布于 2012-04-10 09:56:30
您可以指定如下资源:
var socket = io.connect('http://localhost', {resource: 'nodejs'});
默认情况下resource = "socket.io"
发布于 2017-01-11 16:14:02
如果您使用的是:
服务器端:
var io = require('socket.io')(server, {path: '/octagon/socket.io'});
然后
io.on('connection', function(socket) {
console.log('a user connected, id ' + socket.id);
socket.on('disconnect', function() {
console.log('a user disconnected, id ' + socket.id);
})
})
socket.on('publish message ' + clientId, function(msg) {
console.log('got message')
})
客户端:
var socket = io('https://dev.octagon.com:8443', {path: '/octagon/socket.io'})
然后
socket.emit('publish message ' + clientId, msg)
https://stackoverflow.com/questions/9729308
复制相似问题