javascript - socket.io connect中url带目录的问题
问题描述
使用socket.io 来实现websocket,现在后端的链接是这样的:ws://103.31.201.1/some,通过nginx代理来去掉url中的非80端口(小程序不允许带端口,你懂的),但是实际请求中,socket.io总是把/some去掉,请求都发到ws://103.31.201.1下面去了,请问这种问题怎么处理?
var socket = io.connect(’ws://103.31.201.1/some’)socket.on(’even_name’,function(data){ console.log(data);})
发出去的请求URL变成:
http://103.31.201.1/socket.io/?EIO=3&transport=polling&t=1492593587367-0
url中并没有/some 这样的目录路径,导致socket连接不上
补充:已完美解决:
var socket = io.connect(’ws://103.31.201.1’, {path: ’/some/socket.io’})socket.on(’even_name’,function(data){ console.log(data);})
默认情况下path是指向/socket.io,可以预设path来增加目录
问题解答
回答1:你好,我遇到了你之前发的这个问题,根据你的解决方案配置了path之后,在nginx的access日志中发现请求返回状态码是400,你知道是怎么回事吗/q/10... socket.io connect中url带目录的问题
相关文章:
1. javascript - 按钮链接到另一个网址 怎么通过百度统计计算按钮的点击数量2. sql语句 - 如何在mysql中批量添加用户?3. mysql 可以从 TCP 连接但是不能从 socket 链接4. mysql - PHP定时通知、按时发布怎么做?5. 怎么php怎么通过数组显示sql查询结果呢,查询结果有多条,如图。6. mysql - JAVA怎么实现一个DAO同时实现查询两个实体类的结果集7. 事务 - mysql共享锁lock in share mode的实际使用场景8. mysql建表索引问题求助9. mysql - 数据库建字段,默认值空和empty string有什么区别 11010. mysql 非主键做范围查找实现原理的一点困惑
