use*_*112 25 javascript websocket
我正在使用JavaScript和Union平台我将如何诊断这个问题?非常感谢.
leg*_*ter 21
如果您访问http://jsbin.com/ekusep/6/edit并查看JavaScript控制台,您将看到"在建立连接之前关闭WebSocket"已记录.我在Chrome中测试了这个.
在这段代码中,它意味着ws.close()在连接被提供机会之前被调用(通过用户代码).
因此,此错误的原因是代码在有机会实际连接之前尝试关闭WebSocket连接.
Bam*_*ier 13
在 React 中你需要将其添加到你的useEffectinreturn
useEffect(() => {
const socket = new WebSocket(address);
return () => {
if (socket.readyState === 1) { // <-- This is important
socket.close();
}
}
}, []);
Run Code Online (Sandbox Code Playgroud)
然而它不仅仅是最好的解决方案!您需要使用钩子而不是直接在视图/组件中使用套接字连接,它可以防止多次创建套接字连接。
此外,无论前端是否正在通信,套接字连接如果不使用,都应该由后端关闭。
| 归档时间: |
|
| 查看次数: |
52664 次 |
| 最近记录: |