在做项目的时候,需要后台向前端推送消息的功能。在这个项目中我使用的是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字符串
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。