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

前端模拟 websocket 请求小工具

背景:

        后端写好websocket 接口后,用postman的某些版本无法直接模拟websocket请求,所以想着自制一个小工具。

使用方法:

        直接复制以下代码到文本文件中,修改服务端端地址,保存为 .html的后缀名,用浏览器打开即可直接使用。

截图:

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>WebSocket Client</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 20px;
        }
        #messages {
            width: 400px;
            height: 300px;
            border: 1px solid #ccc;
            overflow-y: scroll;
            padding: 10px;
            margin-bottom: 10px;
        }
        input[type="text"] {
            width: 300px;
            padding: 5px;
        }
        button {
            padding: 5px 10px;
        }
    </style>
</head>
<body>
    <h1>WebSocket Client</h1>
    <div id="messages"></div>
    <input type="text" id="messageInput" placeholder="Type a message...">
    <button onclick="sendMessage()">Send</button>

    <script>
        let socket;

        function connect() {
            // Replace 'ws://example.com/socket' with your WebSocket server URL
            socket = new WebSocket('ws://localhost:8088/ws?token=333opqrst');

            socket.onopen = () => {
                console.log('Connected to WebSocket server');
            };

            socket.onmessage = (event) => {
                const messagesDiv = document.getElementById('messages');
                const messageElement = document.createElement('div');
                messageElement.textContent = `B: ${event.data}`;
                messagesDiv.appendChild(messageElement);
            };

            socket.onclose = () => {
                console.log('Disconnected from WebSocket server');
            };
        }

        function sendMessage() {
            if (!socket || socket.readyState !== WebSocket.OPEN) {
                alert('Not connected to the WebSocket server.');
                return;
            }

            const messageInput = document.getElementById('messageInput');
            const message = messageInput.value;
            socket.send(message);

            const messagesDiv = document.getElementById('messages');
            const messageElement = document.createElement('div');
            messageElement.textContent = `A: ${message}`;
            messagesDiv.appendChild(messageElement);

            messageInput.value = '';
        }

        window.onload = connect;
    </script>
</body>
</html>




http://www.kler.cn/a/610540.html

相关文章:

  • ngx_http_compile_complex_value
  • 文献学习:单细胞+临床+模型构建 | 一篇Molecular Cancer文献如何完整解读CDK4/6i耐药机制
  • SpringBoot大学生竞赛管理系统设计与实现
  • Redis 在后端系统中的高效应用
  • 去中心化金融
  • Maven插件学习(一)——生成可执行的 JAR 文件
  • AI时代智慧园区新标杆:华为联合51WORLD打造智能运营中心2.0
  • 六十天Linux从0到项目搭建(第五天)(file、bash 和 shell 的区别、目录权限、默认权限umask、粘滞位、使用系统自带的包管理工具)
  • 文件上传绕过的小点总结(4)
  • Spring Boot响应压缩配置与优化
  • qt QOffscreenSurface详解
  • Linux——进程信号(2)(函数信号与软件信号与硬件中断)
  • 问题:md文档转换word,html,图片,excel,csv
  • 《Git江湖录·分支篇》
  • 阿里巴巴1688类网站高保真原型设计
  • 文献分享: ColXTR——将ColBERTv2的优化引入ColXTR
  • Stable Diffusion 3.0 :一键开启你的AI绘画之旅
  • Rust从入门到精通之入门篇:6.函数
  • SpringBoot中安全的设置阿里云日志SLS的accessKey
  • 26考研——栈、队列和数组_栈(3)