• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

android - Socket.io 适用于桌面 safari 和 chrome,但不适用于移动设备

[复制链接]
菜鸟教程小白 发表于 2022-12-12 16:16:23 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在使用 socket.io 在服务器和 html5 客户端之间建立通信,并且在桌面和 iPhone 模拟器上的 safari 上一切正常。当我尝试从任何 iOS 甚至 android 设备运行客户端时,客户端无法建立连接。

使用 web 检查器,我无法在我的 ios7 设备上输出控制台错误,但设法获取资源列表,其中包含 XHR 下的项目,尝试连接到服务器 IP 地址并在大约 2 到 3 分钟后失败(转红色)

我的 iOS 设备是 iOS 7.03 (iPhone 4),我使用的是 node v0.10.21 和 socket.io v0.9.16 我也在使用 ip 地址进行连接,所以我不确定是否有相同的域限制适用

以下是来自客户端的相关部分:

<script src="http://xx.xx.xx.xx:port/socket.io/socket.io.js"></script>
var socket =  io.connect("http://xx.xx.xx.xx:port");

socket.on('connect', function() {
    console.log("connected");
}

socket.on('disconnect', function() {
    console.log("disconencted");
}

socket.on('message', function(data) {
    console.log("rcved:"+ data*emphasized text*);
}

服务器

var io = require('socket.io').listen(12321).set('log level', 0);
var ConnectionHandler = require('./handler.js');


io.sockets.on('connection', function (socket) {
new ConnectionHandler(socket);
});

我还需要指出,当我在服务器端启用完整日志记录时,不会尝试从移动设备建立连接,而只是桌面设备和 iOS 模拟器。

感谢任何有关修复或如何寻求解决此问题的建议



Best Answer-推荐答案


原来是防火墙问题:|

台式电脑在 VPN 上,手机没有 这解释了这个问题

我觉得很愚蠢,但我会把它留在这里,以防它帮助别人检查同样的问题

关于android - Socket.io 适用于桌面 safari 和 chrome,但不适用于移动设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19887397/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap