我正在构建一个应用程序,其中node.js作为服务器,vue.js位于前端,使用此程序包https://github.com/MetinSeylan/Vue-Socket.io
我从服务器向客户端发送大量数据(初始连接时) Node.js从mongodb加载数据。
所以在某些情况下,当我做
时socket.emit()
连接中断(没有错误)并立即重新连接。这是一个无限循环。
我发现,这个问题曾经是由德国“变形金刚”造成的,例如“ä,ö,ü”等。我通过这样做encodeURIComponent(JSON.stringify(myDataToSend)))
解决了这个问题,并在前端解码它就像这个:JSON.parse(decodeURIComponent(payload))
所以现在这不再有用了,我无法弄清楚原因。并且没有任何错误日志或我可以开始调试的东西,它只是分解并永远重新连接。
这是否会发生,因为我要发送给客户的对象太大? 我尝试将数据一个接一个地发送到较小的包中,但这并没有破坏。我希望我能找到这样的问题。
对于调试的任何建议或包装我的数据的想法都表示赞赏。
答案 0 :(得分:1)
我发现这个问题导致了我的问题。
注意:我仍然不知道,为什么套接字连接在我的情况下崩溃,但我以“错误的方式”使用了包。 我做了:
Vue.use(VueSocketio, 'http://socketserver.com:1923', store);
但是那种更好的方式是
Vue.use(VueSocketio, socketio('http://socketserver.com:1923'), store);
vue-socket.io在使用字符串作为连接而没有实际的socketio实例时使用了一个非常旧版本的socket-io.client。
也许这有助于其他人