详细问题描述
(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)
[内容]
uni.connectSocket(
{
url:url
}
);
uni.onSocketOpen(function(e) {
console.log("hallopen"+JSON.stringify(e));
});
uni.onSocketMessage(function(e) {
console.log("hallmsg"+JSON.stringify(e));
});
uni.onSocketError(function(e) {
console.log("hallerror:"+JSON.stringify(e)); //这里在真机和google调试,都是输出得{},没有任何数据
});
uni.onSocketClose(function(e) {
console.log("close"+JSON.stringify(e));
//这里在真机和google调试,都是输出得{},没有任何数据 没有code,没有wasreason等。无法读取关闭原因。
});
包括sockettask得onError和onClose输出结果和上面一样,都是只有{}
重现步骤
[步骤]
[结果]
[期望]
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]
IDE运行环境说明
[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
[IDE版本号]
[windows版本号]
[mac版本号]
uni-app运行环境说明
[运行端是h5或app或某个小程序?]
[运行端版本号]
[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
[编译模式是老模板模式还是新的自定义组件模式?]
App运行环境说明
[Android版本号]
[iOS版本号]
[手机型号]
[模拟器型号]
附件
[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]
[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]
[App安装包或H5地址]
[可重现代码片段]
联系方式
[QQ]
5 个回复
熊海 (作者)
还有问题:
uni.connectSocket 经过测试。调用多少次,就有多少个独立得socket。这就导致一个问题。这么多个socket调用得是一个回调函数,然后,比如,我连了第一个,我马上连第二个,那么,第一个被我断开了,但是有重连机制,然后就去重连,创建了第三个,第二个又被断开了,又去重连。最后,无限断开重连
熊海 (作者)
这个正常逻辑下,不会,但是,如果被服务器端断开了,立即重连,那么,可能导致存在多个socket,因为他是异步得,不是同步得,就会知道,无限断开重连。比如,我去主动断开连接,服务器也断开连接,会调用两次onsocketclose。最后导致重连两个websocket得问题。然后,自然就无限断开重连了。
hhyang - 如有问题,请添加QQ1606726660 备注付费咨询
https://github.com/SilurianYang/uni-app-tools 试试这个
2***@qq.com
理性分享 别TM 恶意打广告 内容没一点用 还耽误人时间 就可恶了 懂吗
2019-04-26 15:14
hhyang
回复 2***@qq.com: 我就问你我哪里打广告了?请问?那是你没用ok? 就给楼主分享的socket.js没用我特么名字倒着写。
2019-04-26 16:21
2***@qq.com
回复 hhyang: 看一个问题 底下都是你发的这玩意 没有用出还TM一直发 说的好听分享 搞笑
2019-04-26 17:24
hhyang
回复 2***@qq.com: 你是臭? 我回帖怎么了? 我提供给他人使用不可以?自己不会用你特么bb个锤子 臭
2019-04-26 17:29
2***@qq.com
回复 hhyang: 没别的意思 就是瞧不起 乱发广告的 你别介意
2019-04-26 18:07
hhyang
回复 2***@qq.com: 我分享叫打广告? 说话说好听点,别上来就tm tm 的
2019-04-26 18:15
2***@qq.com
回复 hhyang: 别说的这么好听分享 冠冕堂皇的 你这要是叫分享 那我骂你就是在教育你 不是骂你 是不是这意思
2019-04-27 09:25
hhyang
回复 2***@qq.com: 键盘侠? 老子就是打广告了怎么了?我打广告也轮不到你在这里bb吧?
2019-04-27 18:59
maozai - 小程序开发者
同问这个问题,楼主解决了,app上监听不到socket已经关闭
1***@qq.com - 开发者
同问这个问题,楼主解决了,app上监听不到socket已经关闭