main.socket = {
ws:null,
state:false,
autoReConnnect:function(){
if(!main.socket.state){
setInterval(main.socket.connectSocketServer,10 * 60 * 1000);
}
},
connectSocketServer:function(){
var support = "MozWebSocket" in window ? 'MozWebSocket' : ("WebSocket" in window ? 'WebSocket' : null);
if (support == null) {
main.alert("您的手機不支持websocket!");
return;
}
main.socket.ws = new window[support]('ws://'+ storage.get("service-ip") +':9876');
main.socket.ws.onopen = function () {
main.socket.state = true;
var msg = main.socketModel;
msg.Target = "SYSTEM";
msg.From = storage.get("user-name");
msg.Fromid = storage.get("user-id");
msg.To = "";
msg.Content = "ONOPEN";
main.socket.ws.send(JSON.stringify(msg));
};
main.socket.ws.onmessage = function (evt) {
var msg = JSON.parse(evt.data);
if(msg && msg.FromId == "SYSTEM"){
main.alert(msg.Time + ": "+msg.Content);
return;
}
msg.Readed = false;
main.socket.onMessage(msg);
};
main.socket.ws.onclose = function () {
if( main.socket.state ){
var msg = main.socketModel;
msg.Target = "SYSTEM";
msg.From = storage.get("user-name");
msg.Fromid = storage.get("user-id");
msg.To = "";
msg.Content = "ONCLOSED";
main.socket.ws.send(JSON.stringify(msg));
}
main.socket.state = false;
//main.alert('服務器連接失敗!');
console.log("聊天服務器連接失敗");
main.socket.autoReConnnect();
}
},
onMessage :function(msg){
},
sendToPersonal:function(msgcontent,to) {
if (main.socket.ws) {
var msg = main.socketModel;
msg.Content = msgcontent;
msg.Target = "PERSONAL";
msg.From = storage.get("user-name");
msg.To = to;
main.socket.ws.send(JSON.stringify(msg));
} else {
main.alert("您的手機不支持websocket!");
}
}
}
WebSocket 封裝
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.