有什么原因可能会导致websocket自己断线?

elementwong

我做了一个聊天室程序,嵌入在YII框架里,包括用户登录,删除发言信息,加入黑名单禁言等功能,提交聊天内容的地方,我采用了一个div画了一个发送按钮,使用onclick绑定了一个JS函数来进行发送。

但是发现每次刚登入的时候,第一次发言总不成功,并且看后端CLI窗口和firebug控制窗口都显示的是断线重连,第二次发送消息就好了,正常发送。

问题进一步发展到,我在聊天记录框中给每一条聊天内容的span都加了一个onmouseover绑定一个JS函数,用于显示删除这条信息的按钮,就这个函数居然也导致只要触发就会导致websocket断线!实在是想不明白了,我删除了那个js函数中的代码,只添加了一个alert,问题也依旧。

求助!到底有可能会有什么样的原因导致ws断线?我现在真的没有头绪了

8828 1 0
1个回答

walkor

可以参考workerman手册抓包,看是服务端还是客户端主动断开的连接,然后再找问题

  • elementwong 2015-09-11

    非常感谢。问题折腾了一天,抓包显示确实是客户端主动断掉连接的。终于解决了,特来回复一下,希望可以对别人有帮助。问题原因仍然不知道,猜测是JQUERY的冲突导致,只说解决的方法。我把所有的HTML标记中的onclick等事件绑定,都用JQUERY方式进行绑定和触发,问题就没再出现了。

年代过于久远,无法发表回答
🔝