默认

[已回复] 求助移动端WebView中套RainbowChat-Web页面连接断开的问题

查看数: 24722 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-01-28 16:32

正文摘要:

应用有4个tab页,每个页面都是一个webview来显示不同web端即时通讯功能,如果打开了一个页面,再打开另外一个,当前的web端即时通讯就会断开连接 如何让它们无缝运行? 来自------付费授权用户

评论

JackJiang 发表于 3 年前
你终于get到移动端webview套im的技术痛点了。。。

在WebView里跑Web im这种方式,你在市面上几乎没有见过,原因有以下两个方面:

首先,是体验问题:

im这种对体验重度敏感的应用,用户对于界面性能很敏感,因为你的im只要稍稍卡一点点,用户就会立马感觉出来,因为每个人对微信、qq的体验都了如指掌,用你的im马上就能形成:“为什么微信不卡,你的im明显要卡很多”这样的错觉。必竟,无论哪种框架,跟原生性能相比,都没有吹的那么牛。


其次,将遇到IM长连接的技术限制问题:

受限于web技术本身,app里套壳webview的话,它里面的网页中websocket长连接能力其实是受限的。

原因是:以你平时用的浏览器为例,包括websocket对象在内的所有对象,生命周期只在一个window内(即一个页面/窗口内),这个页面/窗口关闭或跳转,此页面内的所有对象都将销毁,也就意味着,没有办法像富客户端原生应用一样,全局持有一个长连接。

浏览器里的websocket,只能是打开这个页面/窗口,建立长连接,关闭或跳转出这个页面,长连接就断了。这就是我说的web端长连接技术问题。

不知道我说的,你是不是理解。
西域男孩 发表于 3 年前
我在onlineCheck的方法加了window.RBChatMainUI.doLoginIMServer()就可以了,目前好像没什么问题。

返回顶部