-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwserver.js
More file actions
99 lines (90 loc) · 2.71 KB
/
wserver.js
File metadata and controls
99 lines (90 loc) · 2.71 KB
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
const http=require("http");
const fs=require("fs");
const socket=require("socket.io");
const mysql=require("mysql");
const regs=require("./libs/regs");
let db=mysql.createPool({
host:"localhost",
user:"root",
password:"root",
database:"github",
port:"8889"
});
let server=http.createServer((req,res)=>{
fs.readFile(`www${req.url}`,(err,data)=>{
if(err){
res.writeHeader("404");
res.write("Not Found");
}else{
res.write(data);
}
res.end();
});
});
server.listen("3002",()=>{console.log("3002")});
//let socket=[];
let wsServer=socket.listen(server);
wsServer.on("connection",sock=>{
let cur_username="";
let cur_userId=0;
sock.on("reg",(user,pass)=>{
if(!regs.username.test(user)){
sock.emit("reg_ret",1,"用户名不符合规范");
}else if(!regs.password.test(pass)){
sock.emit("reg_ret",1,"密码不符合规范");
}else{
db.query(`select id from table_user where username='${user}'`,(err,data)=>{
if(err){
sock.emit("reg_ret",1,"数据库有错");
}else if(data.length>0){
sock.emit("reg_ret",1,"用户名存在");
}else{
db.query(`insert into table_user (username,password,tel) values('${user}','${pass}',0)`,(err,data)=>{
if(err){
sock.emit("reg_ret",1,"数据库有错");
}else{
sock.emit("reg_ret",0,"注册成功");
}
});
}
});
}
});
sock.on("login",(user,pass)=>{
if(!regs.username.test(user)){
sock.emit("login_ret",1,"用户名不符合规范");
}else if(!regs.password.test(pass)){
sock.emit("login_ret",1,"密码不符合规范");
}else{
db.query(`select id,password from table_user where username='${user}'`,(err,data)=>{
if(err){
sock.emit("login_ret",1,"数据库有错");
}else if(data.length==0){
sock.emit("login_ret",1,"用户名不存在");
}else if(data[0].password!=pass){
sock.emit("login_ret",1,"密码错误");
}else{
db.query(`update table_user set tel=1 where username='${user}'`,(err)=>{
if(err){
sock.emit("login_ret",1,"数据库有错");
}else{
sock.emit("login_ret",0,"登陆成功");
cur_userId=data[0].id;
}
});
}
});
}
});
sock.on("msg",txt=>{
});
sock.on("disconnect",()=>{
db.query(`update table_user set tel=0 where id='${cur_userId}'`,(err,data)=>{
if(err){
console.log("数据库有错");
}
cur_username="";
cur_userId=0;
});
});
});