1.下载安装nodejs-websocket
cnpm install nodejs-websocket
2.编写index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>webSocket示例</title>
</head>
<body>
<h1>简易聊天室</h1>
<input id="sendTxt" type="text" />
<button id="sendBtn">发送</button>
<script>
var websocket = new WebSocket('ws://localhost:8001/');
function showMessage(str){
var div = document.createElement('div');
div.innerHTML = str;
document.body.appendChild(div);
}
//建立连接
websocket.onopen = function(){
console.log('websocket连接打开');
document.getElementById('sendBtn').onclick = function(){
var txt = document.getElementById('sendTxt').value;
if(txt){
websocket.send(txt); //发送数据给服务器
document.getElementById('sendTxt').value = '';
}
}
};
//关闭连接
websocket.onclose==function(){
console.log('关闭Websocket连接');
}
//客户端接收数据触发
websocket.onmessage = function(e){
console.log(e.data);
showMessage(e.data);
}
</script>
</body>
</html>
3.编写server.js
var ws = require("nodejs-websocket");
var clientCount = 0;
var server = ws.createServer(function (conn) {
console.log("新建连接");
clientCount++;
conn.nickname='用户'+clientCount;
boradcast(conn.nickname+'进入聊天室');
//服务端接收到消息后触发
conn.on("text", function (str) {
boradcast(conn.nickname+': '+str);
});
//关闭连接
conn.on("close", function (code, reason) {
console.log("连接关闭");
boradcast(conn.nickname+'离开聊天室');
});
//
conn.on("error",function(err){
console.log("发生错误");
console.log(err);
})
}).listen(8001);
function boradcast(str){
server.connections.forEach(function(connection){
connection.sendText(str);
})
}
更多精彩内容:各种AI课程、技能课程、黑科技软件、网站小程序源码、副业小项目、PPT模板等精品素材、电商课程、推广引流课程等,尽在 天边资源网 。