在做项目的时候,需要后台向前端推送消息的功能。在这个项目中我使用的是webSocket这个新的浏览器API.
webSocket的目标是在一个单独的持久连接上提供全双工,双向通信。
Web Sockets 使用了自定义的协议,所以 URL 模式也略有不同。未加密的连接不再是 http://, 而是 ws://;加密的连接也不是 https://,而是 wss://。在使用 Web Socket URL 时,必须带着这个 模式。
代码:

function simtonWebsocket(){
        try{
            //实例化一个WebSocket对象并要传入要链接的url
            //url=ws://61.160.81.178:18000/xxx/xxxxx
            var ws=new WebSocket(url);
            ws.onopen=function(event){
            //在成功建立时触发
                console.log(event);
            }
            
            ws.onmessage=function(event){
                //你的业务代码,接受后端推送过来的代码
                console.log(event)
            };
            ws.onclose=function(event){
                console.log("WebSocket与浏览器断开链接!"+event);
            }
            ws.onerror=function(){
                console.log("wm-WebSocket异常!!"+event);
            }
            
        }catch(e){
            console.log("该浏览器不支持WebStore!");
            //TODO handle the exception
        }
    }

注:如果你想往后端推送数据,可以使用
ws.send(data)
因为Web Socket只能接受和发送纯为本数据,所以对数稍微复杂的数据,可以把他转化为JSON字符串


墨的味道
13 声望1 粉丝

坚持每天看书,学习,每天过的充实快乐.....