老雷socket编程之websocket使用
我们主要实现私聊和群聊两个功能,要在web端实现想微信QQ那样的即时通讯的功能,我们需要了解一下websocket。
websocket是一种可以双向通讯的长连接协议,http是获取完数据就关闭,websocket则可以一直连接,就像铺了一条管道一样,水可以一直流着。
一、websocket前端
var ws = new WebSocket("ws://127.0.0.1.com:8282");
ws.onopen=function(){
var msg = JSON.stringify({
type: "login",
content: "login"
});
ws.send(msg);
}
ws.onmessage = function (e){
console.log(e);
//服务器发送的内容
var res = JSON.parse(e.data);
switch(res.type){
case "login":
break;
case "pm":
break;
case "groupPm":
break;
}
}
ws.onerror=function (e){
console.log(e);
}
ws.onclose=function (e){
console.log(e);
}
二、服务端
客户端发送http请求,带上Sec-WebSocket-Key,
服务端握手 加密key,发送给客户端。
双方能进行交流。
三、具体常见使用
私聊
群聊
全部
课后练习
实现聊天室 跟 个人聊天
前端格式
var msg = JSON.stringify({
type: "login",
content: "login"
});
var msg = JSON.stringify({
type: "group",
content: "login",
gid:123
});
var msg = JSON.stringify({
type: "pm",
content: "login",
uid:123
});