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 问题仅在移动设备上的主要内容,如果未能解决你的问题,请参考以下文章

可折叠的 div,但仅在移动设备上

仅在移动设备上的响应式 CSS 样式

仅在移动设备上的垂直和水平中心

轮播/幻灯片仅在移动设备上

Blazor 仅在移动设备上显示组件

如何使页面仅在移动设备上响应[关闭]