Socket.io 问题仅在移动设备上
Posted
技术标签:
【中文标题】Socket.io 问题仅在移动设备上【英文标题】:Socket.io issue only on mobile devices 【发布时间】:2014-04-25 19:08:58 【问题描述】:我不明白,我的 socket.io 在桌面上工作正常,但在移动设备上它不会加载 socket.io.js 并且不会从其他 url 连接套接字加载 socket.io.js。
Try it yourself - url is: http://46.252.202.193:3000/socket.io/socket.io.js
在移动设备上显示 - 内部错误,此时无法处理请求。
当我放置其他 socket.io.js 并尝试连接套接字和轮询时,它是允许访问源错误。
在桌面上工作正常!
【问题讨论】:
可能是您的移动设备浏览器不支持 web-sockets 从技术上讲,socket.io 应该支持一切!这就是计划。 您能否提供更多信息? 有人可以尝试从不同的移动设备链接socket.io吗? 听起来更像是网络问题而不是节点/套接字问题。 【参考方案1】:如果您在移动设备上使用 3G/4G,socket.io 不起作用,因为 3G/4G 使用“透明”代理。
在已连接 Wifi 的情况下试用该应用。
【讨论】:
但是有一件事。如果我在移动插座上使用 3g 不工作 - 检查 websocketstest.com,但如果我使用该 3g 网络进行 hotsopt 并转到互联网 ovel 笔记本电脑,scokets 工作吗?那里有什么解决方案? 移动 + 3g - 不工作(cPanel 和 WHM 也不工作)移动 + wifi - 工作电脑 + 来自移动设备的相同 3g - 工作电脑 + wifi - 工作 启用 3G 的移动浏览器中的 Websocket 将不起作用,因为透明代理不支持 WebSocket。有关此主题的更多信息,请查看link【参考方案2】:根据 mariomako 的 link 在另一个答案中添加更多信息 - 如果您使用端口 80 来发出套接字请求,那么更改为另一个端口(例如 443)应该有助于让套接字在不需要 Wifi 的情况下工作连接。
【讨论】:
问题不仅仅出在运营商身上。我用原生 android 应用程序 (play.google.com/store/apps/details?id=uk.ing.websocket) 测试了 websocket,它在 3G 上工作,但在浏览器中没有工作以上是关于Socket.io 问题仅在移动设备上的主要内容,如果未能解决你的问题,请参考以下文章