-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapphttps.js
98 lines (69 loc) · 2.29 KB
/
apphttps.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
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
var fs = require('fs');
var https = require('https');
var express = require('express');
var app = express();
var options = {
key: fs.readFileSync('key.pem'),
cert: fs.readFileSync('cert.pem')
};
var server = https.createServer(options, app);
server.listen(process.env.PORT || 3000);
var io = require("socket.io").listen(server);
//var io = require('socket.io')(server);
app.use(express.static(__dirname + '/simpleRTC'));
app.get("/", function(req, res){
res.sendFile(__dirname + "/simpleRTC/index.html");
});
var lstUser = [];
//var lstClientID = [];
io.sockets.on('connection', function (socket) {
//socketID = socket.id;
console.log("Client has connected : " + socket.id);
socket.emit('serverguiIDuser', { socketID: socket.id });
socket.on('new user', function (data) {
console.log('username: ' + data.usename);
console.log('clientID: ' + data.clientID);
var LoginSuccess = false;
if ( lstUser.indexOf(data.usename) > -1 ) {
console.log("User has exists");
LoginSuccess = false;
}
else {
lstUser.push(data);
//console.log('list: ' + data.usename + '_' + data.clientID)
console.log('do dai danh danh sach : ' + lstUser.length)
LoginSuccess = true;
socket.un = data;
io.sockets.emit('server-return-listUer', { danhsach: lstUser });
}
});
//socket.on('call_sinhvien', function(call){
//io.sockets.emit('return_call_sinhvien', { noidung: call });
//});
socket.on('call', function (data) {
console.log(data);
io.sockets.in(data).emit('server_return_call', {request: 'Bạn nhận được một cuộc gọi.'});
});
socket.on('scroll', function(dataScroll){
console.log(dataScroll);
io.sockets.emit('serverguiScroll', { pos: dataScroll });
});
removeByAttr = function(arr, attr, value){
var i = arr.length;
while(i--){
if( arr[i]
&& arr[i].hasOwnProperty(attr)
&& (arguments.length > 2 && arr[i][attr] === value ) ){
arr.splice(i,1);
}
}
return arr;
}
socket.on('disconnect', function () {
console.log('DISCONNECTED: ' + socket.id);
console.log('++++TRUOC KHI XOA++++>: ' + lstUser.length);
removeByAttr(lstUser, 'clientID', socket.id);
console.log('~~~SAU KHI XOA~~~~>: ' + lstUser.length);
io.sockets.emit('server-send-user-exit', { userExit: socket.id });
});
});