socket.io 上线和下线
3.js
var http = require('http');
var io = require('socket.io');
var server = http.createServer((req,res)=>{
});
server.listen(2183);
// 监听服务器,有哥们儿连接过来了,参数就是连接的哥们儿(就是user)
io.listen(server).on('connection',(user)=>{
//除了自己,其它都能收到
user.broadcast.emit('msg','有人上线了')
user.on("msg",(str)=>{
//除了自己,剩下所有在线的人发送消息
user.broadcast.emit('msg',str);
//加上它我自己也能收到,只有user.broadcast.emit,不加user.emit,自己收不到
user.emit('msg',str);
});
//下线了,断开连接了
user.on('disconnect',()=>{
user.broadcast.emit('msg','有人下线了!')
});
});
2.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src='http://localhost:2183/socket.io/socket.io.js'></script>
<title></title>
<script type="text/javascript">
onload=()=>{
let conn=io.connect('ws://localhost:2183');
//点击的时候,向服务发送数据
b.onclick = x=>{
conn.emit('msg',t.value)
};
//后台传过来的数据,我前台接受下 conn.on()
conn.on('msg',(str)=>{
// console.log(str);
var oLi = document.createElement('li');
oLi.innerHTML = str;
ul.appendChild(oLi);
})
}
</script>
</head>
<body>
<input type="text" name="" id='t'>
<button id='b'>发送</button>
<ul id='ul'></ul>
</body>
</html>

浙公网安备 33010602011771号