-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtime-server.js
38 lines (37 loc) · 975 Bytes
/
time-server.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
function timeServer(port) {
const net = require('net');
const server = net.createServer((c) => {
// 'connection' listener
console.log('client connected:');
if (!c) {
c.write("");
return;
}
const d = new Date();
const dformat = [
zeroCheck(d.getFullYear()),
zeroCheck(d.getMonth() + 1),
zeroCheck(d.getDate())
]
.join('-') +
' ' + [
zeroCheck(d.getHours()),
zeroCheck(d.getMinutes())
].join(':');
c.write(dformat);
c.on('end', () => {
console.log('client disconnected');
});
c.end("\n");
});
server.on('error', (err) => {
throw err;
});
server.listen(port, () => {
console.log('server bound');
});
}
timeServer(process.argv[2]);
function zeroCheck(time) {
return time < 10 ? "0" + time : time;
}