美文网首页
websocket的使用方式

websocket的使用方式

作者: 会飞的猪l | 来源:发表于2018-04-19 14:34 被阅读107次

Websocked

Websocked协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工通信-----允许服务器主动发送信息给客户端。

实现原理

在实现websocked连线过程中,需要通过浏览器发出websocked连线请求,然后服务器发出回应,这个过程通常称为‘握手’,在websockedAPI,浏览器和服务器中只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。在此websocked协议中,为我们实现即时服务带来了两大好处:

  1. Header
    互相沟通的Header是很小的-大概只有2Bytes
    2.Server Push
    服务器的推送,服务器不在被动的接收到浏览器的请求之后才返回数据,而是在有新数据主动推送给浏览器。
     //全局变量socket  浏览器需要请求的话 socket .send() 去请求
    var socket ;  
    if ("WebSocket" in window) {  
        //alert("WebSocket is supported by your Browser!");  
        //open web socket  
        var ws = new WebSocket("ws://192.168.0.227:8883/web");  
        socket = ws;  
        ws.onopen = function() {  
            // Web Socket is connected, send data using send()  
            // ws.send("Message from client");  
            //console.log('Message is sent...');
            //连接时执行 
        };  
        ws.onmessage = function(evt) {
            console.log(evt);       
            var received_msg = evt.data;  
            //alert("Message is received...");  
           console.log("Server:"+evt.data);
           var br = document.createElement("br");
           document.body.appendChild(br);  
           document.body.append(evt.data);

            //服务器主动推送时 执行
        };  
        ws.onclose = function() {  
            // websocket is closed.  
            //服务器关闭时执行
            alert("Connection is closed...");  
        };  
    } else {  
        //不支持WebSocket  
        alert("WebSocket not supported by your Browser!");  
    }  
    function send(){  
        // socket.send("{\"uid\":\"admin\",\"pwd\":\"admin\"}");  
        d = '{"Code":"4","MethodName":"E.TOOLOFFSET","Value":"","ID":10,"Parameters":["1","10"]}';
        socket.send(d);//document.getElementById('sendText').value      
    }  

相关文章

网友评论

      本文标题:websocket的使用方式

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