最新消息:前端博客、web前端博客、Angularjs、javascript、jQuery、HTML5、CSS3

html中使用websocket实现通过实时通功能

JavaScript AZ 3160浏览 0评论

最近因为项目需要,研究了下html5 WebSocket,Firefox 旧版要加上Moz做兼容。

在支持WebSocket的浏览器中,在创建socket之后。可以通过onopen(当websocket创建成功时,即会触发onopen事件),onmessage(当客户端收到服务端发来的消息时,会触发onmessage事件,参数evt.data中包含server传输过来的数据),onclose(当客户端收到服务端发送的关闭连接的请求时,触发onclose事件)即onerror(如果出现连接,处理,接收,发送数据失败的时候就会触发onerror事件)四个事件实现对socket进行响应,其中在open以后可使用内置send方法实现信息发送进行通迅。申请一个WebSocket对象,参数是需要连接的服务器端的地址,同http协议使用https://开头一样,WebSocket协议的URL使用ws://开头,另外安全的WebSocket协议使用wss://开头。

示例demo:
[codesyntax lang=”javascript”]

<script type="text/javascript">
var conn = null;
//连接
function openConnection(url) {
    if (window.WebSocket) {
        conn = new WebSocket(url);
    } else if (window.MozWebSocket) {
        conn = new MozWebSocket(url);
    } else {
        alert('您的浏览器不支持WebSocket。');
        return;
    }
    //打开连接
    conn.onopen = function() {
        console.log('开始发送请求Ping...');
        conn.send('Ping...');
    };
    //失败
    conn.onerror = function(error) {
        console.log(error);
        conn.close();
    };
    //返回信息
    conn.onmessage = function(event) {
        var message = event.data; //JSON.parse(event.data);
        console.log('服务器返回:'+message);
    };
    //关闭
    conn.onclose = function(event) {
        var message = event; //JSON.parse(event.data);
        if(message){
            conn.close();
            console.log("关闭连接");
        }
    };
}
//断开连接
function disConnection() {
    if (conn != null) {
        conn.close();
        conn = null;
    }
}
//初始化
window.onload = function() {
   openConnection('ws://echo.websocket.org');  
}
    //关闭页面
window.onunload = function() {
    disConnection();
}
</script>

[/codesyntax]

转载请注明:TUTERM.COM » html中使用websocket实现通过实时通功能

如果您觉得本文的内容对您的学习有所帮助,您可以支付宝(左)或微信(右):
alipay weichat

您必须 登录 才能发表评论!