-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
28 lines (27 loc) · 983 Bytes
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
const express=require('express');
const app=express();
const server=require('http').createServer(app);
const users=[];
// socket.io 是websocket html5是开发实时项目的利器
// js前后端通用,所以socket.io非常流行
// socket 实时通信协议 QQ 游戏
// 基于web server上再构建的一层websocket
const io=require('socket.io').listen(server);
app.use('/',express.static(__dirname+'/www'));
server.listen(3000);
// socket.io 将websocket协议抽象出来的事件 message
io.sockets.on('connection',function(socket){
socket.on('login',function(nickname){
if(users.indexOf(nickname)>-1){
console.log(nickname+'重名了');
socket.emit('nickExisted');
}else{
socket.nickname=nickname;
users.push(nickname);
// console.log(nickname);
socket.emit('loginSuccess');
// 服务器向所有的连接的客户端发送消息
io.sockets.emit('system',nickname,users.length,'login')
}
});
})