瀏覽代碼

tcp协议

shaogen1995 2 天之前
父節點
當前提交
9d62a25e3f

+ 4 - 0
node_socket_io/NeiMengGuServer.js

@@ -183,6 +183,10 @@ const server = net.createServer((socket) => {
   socket.on("end", () => {
   socket.on("end", () => {
     console.log("tcp客户端断开连接");
     console.log("tcp客户端断开连接");
   });
   });
+
+  socket.on("error", (err) => {
+    console.log("tcp客户端连接错误:", err.message);
+  });
 });
 });
 
 
 server.listen(tcpPort, () => {
 server.listen(tcpPort, () => {

+ 2 - 2
后台管理/public/myData/index.js

@@ -2,8 +2,8 @@
 const baseUrlTempOne = 'https://sit-nmgzhanche.4dage.com'
 const baseUrlTempOne = 'https://sit-nmgzhanche.4dage.com'
 
 
 // node_socket_io 服务地址
 // node_socket_io 服务地址
-const nodeSocketUrl = 'http://192.168.20.55:8501'
-// const nodeSocketUrl = 'https://sit-nmgzhanche.4dage.com'
+// const nodeSocketUrl = 'http://192.168.20.55:8501'
+const nodeSocketUrl = 'https://sit-nmgzhanche.4dage.com'
 const nodeSocketPath = '/websocket/'
 const nodeSocketPath = '/websocket/'
 
 
 // 大模型接口地址
 // 大模型接口地址

+ 13 - 3
后台管理/src/pages/Layout/index.tsx

@@ -189,12 +189,22 @@ function Layout() {
 
 
   const [socketTime, setSocketTime] = useState(true)
   const [socketTime, setSocketTime] = useState(true)
 
 
-  useEffect(() => {
-    window.setTimeout(() => {
+  const timeRef = useRef<any>(null)
+
+  const timeFu = useCallback(() => {
+    clearTimeout(timeRef.current)
+    timeRef.current = window.setTimeout(() => {
       setSocketTime(false)
       setSocketTime(false)
     }, 30000)
     }, 30000)
   }, [])
   }, [])
 
 
+  useEffect(() => {
+    setSocketTime(true)
+    if (isConnected) {
+      clearTimeout(timeRef.current)
+    } else timeFu()
+  }, [isConnected, timeFu])
+
   // 获取字典管理
   // 获取字典管理
   const dispatch = useDispatch()
   const dispatch = useDispatch()
 
 
@@ -356,7 +366,7 @@ function Layout() {
         <div className='layLoding'>
         <div className='layLoding'>
           {socketTime
           {socketTime
             ? 'socket服务连接中...'
             ? 'socket服务连接中...'
-            : 'socket服务连接失败,请联系管理员,或者尝试刷新页面'}
+            : 'socket服务连接失败,请尝试刷新页面,多次刷新无效请联系管理员'}
         </div>
         </div>
       )}
       )}
     </div>
     </div>

+ 4 - 3
后台管理/src/pages/Layout/useSocket.ts

@@ -14,10 +14,11 @@ export function useSocket(serverUrl: string) {
     socketRef.current = io(serverUrl, {
     socketRef.current = io(serverUrl, {
       transports: ['websocket', 'polling'],
       transports: ['websocket', 'polling'],
       path: nodeSocketPath,
       path: nodeSocketPath,
-      // 配置重连选项,提升体验[4,6](@ref)
+      // 配置无限重连
       reconnection: true,
       reconnection: true,
-      reconnectionAttempts: 5,
-      reconnectionDelay: 1000
+      reconnectionAttempts: Infinity,
+      reconnectionDelay: 1000,
+      reconnectionDelayMax: 5000
     })
     })
 
 
     const socket = socketRef.current
     const socket = socketRef.current