一、Wesocket初体验(1)
Wesocket相较于http的好处是:
http请求是浏览器发请求到服务端,服务端接收到请求后返回结果到浏览器,之后请求就断了
而使用wesocket浏览器请求服务端后,两者就建立了socket请求,只收仍能发送和接收请求
Websocket的使用:
建立连接
Var websocket=new WebSocket(“ws://echo.websocket,org”);
建立连接后的回调函数
websocket.onopen=function(){
}
关闭连接后的回调函数
websocket.onclose=function(){
}
接收消息的回调函数
websocket.onmessage=function(e){
//消息存储在e.data中
}
使用websocket发送消息
websocket.send();
二、建立自己的websoket
- 使用命令安装nodejs
2.建立websocket.js引入nodejs,并按照git上的写服务器代码
/*引入node.js*/
var ws = require("nodejs-websocket")
// Scream server example: "hi" -> "HI!!!"
var server = ws.createServer(function (conn) {
console.log("New connection")
conn.on("text", function (str) {
console.log("Received "+str)
conn.sendText(str.toUpperCase()+"!!!")
})
conn.on("close", function (code, reason) {
console.log("Connection closed")
})
conn.on("error", function (err) {
console.log("error");
console.log("err");
})
}).listen(8001)
3.命令启动服务端node websocket.js
三、实现简单的聊天(1)
- 实现广播通知每个客户新的客户登录/发送消息/离开的消息
关键是在服务端要实现广播通知.要实现该功能只要拿到服务端内的每个客户连接,给每个客户发送消息即可
Sever.connections.forEach(function(conn){
conn.sendText(str);
});
客户端代码
服务端代码
- 实现简单聊天优化
用颜色实现登录、离开、普通消息的区分
服务端代码
客户端代码