jonychen 2019-06-28
在做项目的时候,需要后台向前端推送消息的功能。在这个项目中我使用的是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字符串