本文是为了介绍WebSocket的基本用法。话不多说,直接上代码:
var websocket = null;
//websocket发送消息
function send(message) {
if (websocket != null) {
websocket.send(JSON.stringify(message));
return true;
} else {
alert('无法连接服务器,请检查网络配置');
return false;
}
}
//发送消息
function sendMsg() {
var message = document.getElementById('text').value;
send({
cmd:"send_private",
to:'46',
type: 'text',
content: message
});
}
var connect = function() {
websocket = new WebSocket("ws://"+ window.location.host +"/yingxin/ws/wschat");
//连接成功建立的回调方法
websocket.onopen = function () {
setMessageInnerHTML("WebSocket连接成功");
}
//接收到消息的回调方法
websocket.onmessage = function (event) {
}
//连接发生错误的回调方法
websocket.onerror = function () {
setMessageInnerHTML("WebSocket连接发生错误");
};
}
//判断当前浏览器是否支持WebSocket
if ('WebSocket' in window) {
connect();
}
else {
alert('当前浏览器不支持websocket')
}
//连接关闭的回调方法
websocket.onclose = function () {
setMessageInnerHTML("WebSocket连接关闭");
}
//监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。
window.onbeforeunload = function () {
closeWebSocket();
}
//将消息显示在网页上
function setMessageInnerHTML(innerHTML) {
alert(innerHTML);
}
//关闭WebSocket连接
function closeWebSocket() {
websocket.close();
}
网友评论