Commit baf1e2f3ed70f568e60e472ed65856c01ccf9a32

Authored by Min
1 parent 7f174ff8

1.当websoket一直是连接状态时,不需要一直创建websoket,只需要发送信息确认,关闭时关闭老的websoket对象,断网或是非正常状态关闭,恢复网络后需要重新连接

src/mes/indexMes/index.js
... ... @@ -348,8 +348,8 @@ const useIndexMesEvent = props => {
348 348  
349 349 useEffect(() => {
350 350 const connectWs = () => {
351   - if (!wsRef.current) {
352   - console.log("================webSocket不存在,创建webSocket连接======================");
  351 + if (!wsRef.current || wsRef.current.readyState === WebSocket.CLOSED || wsRef.current.readyState === WebSocket.CLOSING) {
  352 + console.log("================webSocket不存在或已关闭,创建webSocket连接======================");
353 353 props.dispatch({
354 354 type: "app/createWebSocket",
355 355 payload: { reStart: true, dispatch: props.dispatch }
... ...
src/models/app.js
... ... @@ -595,8 +595,8 @@ export default {
595 595 // 清理旧的WebSocket连接和定时器
596 596 let oldWebSocket = yield select(state => state.app.webSocket);
597 597 if (oldWebSocket) {
598   - console.log('发现旧的WebSocket连接,准备清理:', oldWebSocket);
599   - console.log('旧WebSocket连接状态:', oldWebSocket.readyState);
  598 + // console.log('发现旧的WebSocket连接,准备清理:', oldWebSocket);
  599 + // console.log('旧WebSocket连接状态:', oldWebSocket.readyState);
600 600 try {
601 601 // 移除所有事件监听器
602 602 oldWebSocket.onopen = null;
... ... @@ -609,7 +609,7 @@ export default {
609 609 // 关闭连接
610 610 if (oldWebSocket.readyState === WebSocket.OPEN || oldWebSocket.readyState === WebSocket.CONNECTING) {
611 611 oldWebSocket.close(1000, '正常关闭,准备重连');
612   - console.log('已关闭旧的WebSocket连接');
  612 + // console.log('已关闭旧的WebSocket连接');
613 613 }
614 614 // 断开引用,帮助垃圾回收
615 615 oldWebSocket = null;
... ...