使用uni的socket在自定义组件模式下,创建连接、监听打开、发送消息都执行,但是uni.onSocketMessage获取服务器消息怎么不执行,在之前的template模板模式就都可以执行
我吃柠檬
- 发布:2019-05-08 09:26
- 更新:2020-01-04 11:19
- 阅读:6023
23 个回复
小张没有名字
新版本Socket一直有问题
我吃柠檬 (作者) - .....
新用的组件(有vue的slot插槽)在template模板模式又不能用,用新的自定义组件模式,uni.sendSocketMessage又不执行了,我是服气了
我吃柠檬 (作者) - .....
有人知道咋回事不
我吃柠檬 (作者) - .....
有人知道咩
我吃柠檬 (作者) - .....
官方可以看看不
小张没有名字
官方可以看看不
我吃柠檬 (作者) - .....
我哭了,你们呢
小张没有名字
回复 hhyang: 你这个是socket.io吗?
2019-05-09 17:06
我吃柠檬 (作者)
回复 hhyang: 我这边试的不行,你自己试下
2019-05-09 17:24
hhyang
回复 我吃柠檬: 我提供给你的我亲测 是可以的,刚又测试了下。 编译器版本:1.9.4,当前项目编译模式:自定义组件模式。
2019-05-10 10:02
我吃柠檬 (作者) - .....
有人知道怎么解决吗
ZGH0709
测试Bug未复现, uni.sendSocketMessage 可以发送消息。 你是报错还是不执行?可以提供示例 demo 吗?
我吃柠檬 (作者)
抱歉,是uni.onSocketMessage监听服务器消息不行,麻烦看下
2019-05-10 12:59
我吃柠檬 (作者)
是不执行,在旧的template模板模式就可以,切换到新的自定义组件模式就不行了,新建了个项目也不可以
2019-05-10 13:01
ZGH0709
回复 我吃柠檬: 可以执行的, 你提供下不执行的 demo. 运行在什么平台,什么版本也可以提供下
2019-05-10 13:38
我吃柠檬 (作者)
回复 ZGH0709: 可以加下qq吗
2019-05-10 13:43
hhyang
回复 我吃柠檬:作者真的是牛啊,demo 给了还不行?
2019-05-10 13:43
ZGH0709
回复 我吃柠檬: 这里就可以贴代码的,可以设置仅管理员可见。
2019-05-10 19:06
h***@163.com
你好,我也不行,我代码贴给你, 服务端是GatewayWorker, 原先是用layim做的,同一个服务器layim那个是正常的。
console.log("开始connect.........")
uni.connectSocket({
url: 'ws://127.0.0.1:8282',
success: function() {
console.log("WebSocket连接成功");
uni.onSocketOpen(function(res) {
console.log('WebSocket连接已打开');
2019-06-19 16:52
ZGH0709
回复 h***@163.com: 贴下 demo,也可以自己写个简单的node socket 服务测试下,看是否是服务端的问题。
2019-06-19 19:59
h***@163.com
回复 ZGH0709: 我已经说了,同一个服务端,另外一个layim写的,没有任何问题。
2019-06-19 20:56
h***@163.com
客户端用layim的,没有问题
2019-06-19 20:56
ZGH0709
回复 h***@163.com: 上传可复现 demo,我们帮你排查。
2019-06-20 10:33
1***@qq.com
解决了么
牛油果
已解决
2020-01-04 12:21
舌尖跳舞 - 现在不减肥,以后徒伤悲。
我的也是 onSocketMessage 监听不到 ,不过我的是APP。H5和小程序都没问题
Angels_aria
找到问题了吗?我的也是h5可以,APP不行
2019-07-22 10:39
舌尖跳舞 - 现在不减肥,以后徒伤悲。
你的解决了吗
舌尖跳舞
回复 hhyang: 问题是我有这回事
2019-06-19 16:33
hhyang
回复 舌尖跳舞: https://github.com/SilurianYang/uni-app-tools/tree/master/uni-app-chat 这个你试了么
2019-06-19 16:47
舌尖跳舞
回复 hhyang: 不能用,我看了你的代码,你用的不也是 uni.onSocketMessage 吗。我的就是这个监听不到
2019-06-19 17:27
舌尖跳舞
回复 hhyang: 没解决我也给你十个赞啊。你QQ的赞是挺多的
2019-06-19 17:47
hhyang - 如有问题,请添加QQ1606726660 备注付费咨询
测试视频以上 自己看 测试demo 在github上点击查看demo 别一天天就在这里喷 给你解决问题是本分 不是应该的
嗜睡症
作者你好,我想问一下你这个问题解决了吗?我这也遇到偶尔成功的情况
张德帅
今天看了下 好像还是没解决
水沟小鱼 - 90后
同问啊!app用户不来,ios用不了,官方为什么搞不好这个socket呢?哭了
小巷而已 - 小巷
uni.onSocketOpen在H5和安卓APP都能监听到,就是ios app监听不到,根本不触发监听,但是连接返回的又是"connectSocket:ok",有解决的吗?
牛油果
有解决嘛?
2020-01-04 11:21
小巷而已 - 小巷
我解决了!
在connectSocket连接时,GET参数包含 | ,对就是有竖线,就不行...
hosiks
我解决了这个问题,但方法并不好,希望官方能优化一下
测试过多次,发现onSocketMessage的确是有概率不执行的,但能确定的是它是有作用的,无论什么端
所以我写了一个定时器去不断执行onSocketMessage,直到能执行为止,能暂时满足项目需求
let timer = setInterval(function(){
uni.onSocketMessage(function(res){
clearInterval(timer);
console.log('接收数据:'+ res.data)
})
}, 100)
rabet - 开发,技术服务
已解决此问题>
查看链接
https://ask.dcloud.net.cn/article/36623
lifeng_dev
请问自定义组件模式就是使用了 hello uniapp里面的扩展组件吗,例如 uni-list
牛油果
现在解决了吗
牛油果
已解决
2020-01-04 12:21
hhyang - 如有问题,请添加QQ1606726660 备注付费咨询
使用这个全局开启试试呢? https://github.com/SilurianYang/uni-app-tools/blob/master/uni-app-chat/socket.js
h***@163.com
你这个我试过,一样问题,不行。跟官方的一样,能连上但收不到消息,偶尔可以
2019-06-18 18:19
h***@163.com
回复 hhyang: 你的写法,就是把官方的封装了。你自己测试好来,在来这这么肯定的回答。不行就不行,我没必要说谎,我也想早点解决。
2019-06-19 16:42
h***@163.com
回复 hhyang: 你自己测试,是在什么环境测试的,我是安卓app。浏览器可以,我试过,官方的也可以。
2019-06-19 16:44
side9527
回复 hhyang: 额,我刚刚也试了,真的是在APP用不了。。
2019-09-27 15:28