美文网首页
webSocket学习笔记

webSocket学习笔记

作者: wangdemo | 来源:发表于2020-11-17 10:27 被阅读0次

    webSocket是HTMI5提供的一种单个tcp链接上进行全双 工通讯的协议。
    一般为了实现推送技术,我们现在使用的是ajax轮询,这样有很多缺点,带宽,服务器资源。而WebSocket协议就能很好的解决这些问题并且实现实时地进行通讯。


    image.png

    1、只读属性readyState 表示连接状态。0:代表连接尚未建立,1:代表连接已建立,可以进行通讯,2:代表连接正在进行关闭,3:代表连接已经关闭或者连接不能打开。
    2、只读属性bufferedAmount 已被send()放入正在队列中等待传输,但是还没有发出UTF-8文本字节。
    3、binaryType返回websocket连接所传输的二进制数据类型,(返回值”blob“,"arraybuffer")

    4、onmessage属性是一个当收到来自服务器的消息时被调用。

    5、onclose 属性返回一个事件监听器,这个事件监听器将在 WebSocket 连接的readyState 变为 CLOSED时被调用,

    6、onapen属性定义一个事件处理程序,当WebSocket 的连接状态readyState 变为1时调用;这意味着当前连接已经准备好发送和接受数据。这个事件处理程序通过 事件(建立连接时)触发
    三、WebSocket方法
    .send()使用连接发送数据
    .close()关闭连接

     <!DOCTYPE html>
       <html lang="en">
       <head>
        <meta charset="UTF-8">
        <title>webSocket</title>
    </head>
    <body>
    <script>
        function WebSocketTest(){
          if("WebSocket" in window){
            console.log("你的浏览器支持WebSocket!")
              var ws = new WebSocket('ws://localhost:8080/');
            // wss://echo.websocket.org
            // ws://localhost:8080/
              console.log("连接成功")
              console.log("++++++++++");
            ws.onopen = function(){//连接建立时触发
              ws.send("这是发sss送ssss数据");// Web Socket 已连接上,使用 send() 方法发送数据
            };
            ws.onmessage = function(event) {
                console.log('hello:'+event.data,);
    
              };
    
              ws.onclose = function()
              {
                // 关闭 websocket
                console.log("连接已关闭...");
              };
          }else{
            alert("你的浏览器不支持WebSocket")
          }
        }
    </script>
    <div id="sse">
        <a href="javascript:WebSocketTest()">运行 WebSocket</a>
    </div>
    </body>
    </html>
    

    相关文章

      网友评论

          本文标题:webSocket学习笔记

          本文链接:https://www.haomeiwen.com/subject/kmfxiktx.html