diff --git a/src/pages/socket-debugger.vue b/src/pages/socket-debugger.vue new file mode 100644 index 0000000..1e1f288 --- /dev/null +++ b/src/pages/socket-debugger.vue @@ -0,0 +1,807 @@ + + + + + + + + mdi-network + Socket.IO 连接调试器 + + + {{ connectionStatus.text }} + + + + + + + + + 连接信息 + + + + + mdi-server + + 服务器地址 + {{ serverUrl }} + + + + + mdi-identifier + + Socket ID + {{ socketId || '未连接' }} + + + + + mdi-transit-connection-variant + + 传输方式 + + + {{ transport || '未知' }} + + + + + + + mdi-clock-outline + + 连接时长 + {{ connectionDuration }} + + + + + mdi-refresh + + 重连次数 + {{ reconnectCount }} + + + + + mdi-calendar-clock + + 上次连接 + {{ lastConnectedTime || '从未连接' }} + + + + + + + + 连接 + + + 断开 + + + 重连 + + + 清空日志 + + + + + + + + + + 统计信息 + + + + + + {{ stats.eventsReceived }} + 接收事件 + + + + + + + {{ stats.eventsSent }} + 发送事件 + + + + + + + {{ stats.errors }} + 错误次数 + + + + + + + {{ stats.reconnects }} + 重连次数 + + + + + + + + + + 平均延迟 + {{ stats.avgLatency }} ms + + + 上次 Ping + {{ stats.lastPing }} ms + + + 数据传输 + + ↑ {{ formatBytes(stats.bytesSent) }} / ↓ {{ formatBytes(stats.bytesReceived) }} + + + + + + + + + + + + 事件监控 + {{ activeListeners.size }} 个监听器 + + + + + + 暂无活动监听器 + + + + + mdi-eye + + {{ listener }} + + + + + + + + + + 发送自定义事件 + + + + + 发送事件 + + + + + + + + + + 连接日志 + + + + 导出 + + + + + + [{{ log.time }}] + [{{ log.type.toUpperCase() }}] + {{ log.message }} + {{ log.data }} + + + 暂无日志 + + + + + + + + + + 连接诊断 + + + + + 测试连接 + + + + + 测量延迟 + + + + + 模拟错误 + + + + + + {{ diagnosticResult.message }} + + + + + + + + + + + diff --git a/src/utils/socketClient.js b/src/utils/socketClient.js index 432f7ba..f02d6a1 100644 --- a/src/utils/socketClient.js +++ b/src/utils/socketClient.js @@ -28,7 +28,7 @@ export function getSocket() { socket = null; } connectedDomain = serverUrl; - socket = io(serverUrl, {transports: ['websocket']}); + socket = io(serverUrl, {transports: ["polling","websocket"]}); // Re-attach previously registered event handlers on new socket instance listeners.forEach(({event, handler}) => {
{{ log.data }}