WebScoket-1
Websocket允许通过JavaScript建立与远程服务器的连接,从而实现客户端与服务器间双向的通信,是种持久化协议。在websocket实例中有两个方法:
- send() 向远程服务器发送数据
- close() 关闭该websocket链接
websocket的监听函数:
- onopen 当网络连接建立时触发该事件
- onerror 当网络发生错误时触发该事件
- onclose 当Websocket被关闭时触发该事件
- onmessage 当Websocket接收到服务器发来的消息的时触发的事件,也是通信中最重要的一个监听事件。event.data
案例:
// 指定websocket路径
var websocket = new WebSocket(‘ws://localhost:8088/MQ/ws’);
websocket.onmessage = function(event) //监听事件
//event.data 获取监听的数据源
{
var data=JSON.parse(event.data);
// 接收服务端的实时日志并添加到HTML页面中
$(“#log-container div”).append(data.text + “
“);
// 滚动条滚动到最低部
$(“#log-container”).scrollTop($(“#log-container div”).height() - $(“#log-container”).height());
};
websocket的readyState属性,这个属性可以返回Webscoket的状态:
- CONNECTING(0) websocket正尝试与服务器建立连接
- OPEN(1) websocket与服务器已经建立连接
- CLOSING(2) websocket正在关闭与服务器的连接
- CLOSED(3) websocket已经关闭了与服务器的连接
Websocket的url开头是ws,如果需要ssl加密可以使用wss,当我们调用websocket的构造方法构建一个Websocket对象(new WebSocket(url))的之后,就可以进行即时通信了。
创建WebScoket对象:var scoket = new WebScoket(url);
总结
Socket在应用程序间通信被广泛使用,如果需要兼容低版本的浏览器,建议使用反向ajax或长链接实现;如果纯移动端或不需考虑非现代浏览器则可以直接使用websocket。
还没有评论,来说两句吧...