首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Socket.io连接url?

Socket.io连接url?
EN

Stack Overflow用户
提问于 2012-03-15 22:45:22
回答 5查看 83.6K关注 0票数 48

我有当前的设置:

运行在端口80上的

  1. Nodejs代理(运行http-反向代理)。
  2. Rails服务器运行在端口3000
  3. Nodejs web服务器上,运行在端口8888

因此,任何以/ 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/?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-07-06 11:06:57

从Socket.io版本1开始,资源已被path所取代。用途:

代码语言:javascript
运行
复制
var socket = io('http://localhost', {path: '/nodejs/socket.io'});

请参阅:http://blog.seafuj.com/migrating-to-socketio-1-0

票数 63
EN

Stack Overflow用户

发布于 2012-04-10 17:56:30

您可以指定如下资源:

代码语言:javascript
运行
复制
var socket = io.connect('http://localhost', {resource: 'nodejs'});

默认情况下resource = "socket.io"

票数 13
EN

Stack Overflow用户

发布于 2017-01-12 00:14:02

如果您使用的是:

服务器端:

代码语言:javascript
运行
复制
var io = require('socket.io')(server, {path: '/octagon/socket.io'});

然后

代码语言:javascript
运行
复制
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')
    })

客户端:

代码语言:javascript
运行
复制
var socket = io('https://dev.octagon.com:8443', {path: '/octagon/socket.io'})

然后

代码语言:javascript
运行
复制
socket.emit('publish message ' + clientId, msg)
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9729308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档