• web socket client


    <!DOCTYPE HTML>

    <html>

    <head>

        <title>My WebSocket</title>

    </head>

    <body>

    Welcome<br/>

    <input id="text" type="text" /><button onclick="send()">Send</button>    <button onclick="closeWebSocket()">Close</button>

    <div id="message">

    </div>

    </body>

    <script type="text/javascript">

        var websocket = null;

        //判断当前浏览器是否支持WebSocket

        if('WebSocket' in window){

            websocket = new WebSocket("ws://localhost:8082/my-websocket");

        }

        else{

            alert('Not support websocket')

        }

        //连接发生错误的回调方法

        websocket.onerror = function(){

            setMessageInnerHTML("error");

        };

        //连接成功建立的回调方法

        websocket.onopen = function(event){

            setMessageInnerHTML("open");

        }

        //接收到消息的回调方法

        websocket.onmessage = function(event){

            setMessageInnerHTML(event.data);

        }

        //连接关闭的回调方法

        websocket.onclose = function(){

            setMessageInnerHTML("close");

        }

        //监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。

        window.onbeforeunload = function(){

            websocket.close();

        }

        //将消息显示在网页上

        function setMessageInnerHTML(innerHTML){

            document.getElementById('message').innerHTML += innerHTML + '<br/>';

        }

        //关闭连接

        function closeWebSocket(){

            websocket.close();

        }

        //发送消息

        function send(){

            var message = document.getElementById('text').value;

            websocket.send(message);

        }

    </script>

    </html>

  • 相关阅读:
    数据表格优化
    vue数组和对象的监听变化
    python flask框架搭建以及大佬代码参考
    简单爬虫
    srs的基本配置
    记录飞天程序库调用
    面试题 递归算法1+2+....+100求和
    下载列表组件
    Prometheus之系统安装,启动
    nginx之日志
  • 原文地址:https://www.cnblogs.com/wblade/p/8578543.html
Copyright © 2020-2023  润新知