当前位置: 首页 > news >正文

WebSocket调试工具(html),用于调试WebSocket链接是否畅通

WebSocket调试工具,用于调试WebSocket链接是否畅通

纯html+js编写

在这里插入图片描述

直接粘贴使用

<!DOCTYPE html>
<html lang="zh"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>WebSocket 测试工具</title><style>body {font-family: Arial, sans-serif;max-width: 800px;margin: 20px auto;padding: 20px;background-color: #f7f7f7;}h1 {text-align: center;color: #333;}.form-group {margin-bottom: 15px;}label {display: block;margin-bottom: 5px;font-weight: bold;}input[type="text"] {width: 100%;padding: 10px;border: 1px solid #ccc;border-radius: 4px;box-sizing: border-box;}button {background-color: #007cba;color: white;padding: 10px 15px;border: none;border-radius: 4px;cursor: pointer;margin-right: 10px;}button:hover {background-color: #005a87;}button:disabled {background-color: #ccc;cursor: not-allowed;}#status {margin: 15px 0;font-weight: bold;}#messages {height: 300px;overflow-y: auto;border: 1px solid #ccc;padding: 10px;background-color: #fff;border-radius: 4px;font-family: monospace;}.log {margin: 5px 0;color: #333;}.received {color: #007cba;}.sent {color: #28a745;}.system {color: #666;font-style: italic;}</style></head><body><h1>WebSocket 测试工具</h1><div class="form-group"><label for="wsUrl">WebSocket 地址:</label><inputtype="text"id="wsUrl"placeholder="例如: ws://10.10.2.10:85214 或 wss://yourdomain.com/ws"value="ws://10.10.60.248:31636/agent/simple-push"/></div><button id="connectBtn">连接</button><button id="disconnectBtn" disabled>断开</button><div class="form-group"><label for="messageInput">发送消息:</label><inputtype="text"id="messageInput"placeholder="输入要发送的消息"disabled/></div><button id="sendBtn" disabled>发送</button><div id="status">状态: 未连接</div><div id="messages"></div><script>let ws = null;const wsUrlInput = document.getElementById("wsUrl");const messageInput = document.getElementById("messageInput");const connectBtn = document.getElementById("connectBtn");const disconnectBtn = document.getElementById("disconnectBtn");const sendBtn = document.getElementById("sendBtn");const statusDiv = document.getElementById("status");const messagesDiv = document.getElementById("messages");function log(message, type = "system") {const el = document.createElement("div");el.className = `log ${type}`;el.textContent = `[${new Date().toLocaleTimeString()}] ${message}`;messagesDiv.appendChild(el);messagesDiv.scrollTop = messagesDiv.scrollHeight;}connectBtn.addEventListener("click", () => {const url = wsUrlInput.value.trim();if (!url) {alert("请输入 WebSocket 地址");return;}try {ws = new WebSocket(url);ws.onopen = () => {log("WebSocket 连接已建立", "system");statusDiv.textContent = "状态: 已连接";statusDiv.style.color = "green";messageInput.disabled = false;sendBtn.disabled = false;connectBtn.disabled = true;disconnectBtn.disabled = false;};ws.onmessage = (event) => {log(`收到: ${event.data}`, "received");};ws.onclose = (event) => {log(`连接已关闭: ${event.code} ${event.reason}`, "system");statusDiv.textContent = "状态: 已断开";statusDiv.style.color = "red";messageInput.disabled = true;sendBtn.disabled = true;connectBtn.disabled = false;disconnectBtn.disabled = true;ws = null;};ws.onerror = (error) => {log(`连接错误: ${error}`, "system");statusDiv.textContent = "状态: 连接失败";statusDiv.style.color = "red";};} catch (err) {log(`连接异常: ${err.message}`, "system");}});disconnectBtn.addEventListener("click", () => {if (ws) {ws.close();}});sendBtn.addEventListener("click", () => {const msg = messageInput.value.trim();if (!msg || !ws) return;try {ws.send(msg);log(`发送: ${msg}`, "sent");messageInput.value = "";} catch (err) {log(`发送失败: ${err.message}`, "system");}});// 回车发送messageInput.addEventListener("keypress", (e) => {if (e.key === "Enter") {sendBtn.click();}});</script></body>
</html>
http://www.dtcms.com/a/596416.html

相关文章:

  • Springboot3.X+security6.5+jdk21
  • 中文企业网站设计欣赏宁波网站建设方案联系方式
  • Vue2 入门到实战(day2):计算属性、监视属性、样式绑定与条件渲染(附代码案例)
  • C语言位运算深度应用:嵌入式硬件寄存器控制与低功耗优化实践
  • 深圳建立网站营销用动易建设网站教程
  • 京东后端架构技术,Pipline 设计 解决复杂查询逻辑
  • 《STM32 江湖 SPI 双绝:硬件外设与软件模拟的深度解析》
  • Docker学习笔记---day002
  • F280049C学习笔记之X-BAR
  • Python基础教学:Python的openpyxl和python-docx模块结合Excel和Word模板进行数据写入-由Deepseek产生
  • WebSocket原理及实现详解
  • 网站建设与管理吴振峰pptapp的制作需要多少钱
  • 优雅与极简:将你的屏幕变成复古翻页钟——Fliqlo for Mac 完全指南
  • wsl ubuntu24.04 cuda13 cudnn9 pytorch 显卡加速
  • macos安装mysql
  • 解决 iPhone 和 Mac 之间备忘录无法同步的9种方法
  • 【Ubuntu系统开机后出现:GNU GRUB ,Advanced options for Ubuntu】
  • 江西省建设监督网站电子网特色的企业网站建设
  • Mac上DevEco-Studio功能/使用介绍
  • Redis 配置详解
  • Mac 下载 VMware 11.1.0-1.dmg 后如何安装?超简单教程
  • mac怎么卸载office Powerpoint
  • dz论坛做分类网站wordpress git 7.5
  • Java 大文件上传实战:从底层原理到分布式落地(含分片 / 断点续传 / 秒传)
  • 有趣的网站网址之家wordpress网站中英文切换
  • 「腾讯云NoSQL」技术之Redis篇:精准围剿rehash时延毛刺实践方案揭秘
  • 中控播控系统:一键掌控多媒体空间
  • 遗传算法与粒子群算法优化BP提高分类效果
  • c++ -- 循环依赖解决方案
  • 免费vip网站推广做疏通什么网站推广好