-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathserver.js
executable file
·41 lines (30 loc) · 925 Bytes
/
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
39
40
41
"use strict";
const https = require('https');
const fs = require('fs');
const socketio = require('socket.io');
// Load SSL/TLS certificate and key
const options = {
key: fs.readFileSync('key.pem'),
cert: fs.readFileSync('cert.pem')
};
// Create HTTPS server
const server = https.createServer(options, (req, res) => {
res.writeHead(200);
res.end('Hello world!');
});
// Listen on port 3600
server.listen(3600, () => console.log('Server started on port 3600') );
// Create Socket.io server
const io = socketio(server);
// Handle socket connections
io.on('connection', (socket) => {
console.log('Client connected');
socket.on('message', (data) => {
console.log('Received message:', data);
// Broadcast message to all clients except sender
socket.broadcast.emit('message', data);
});
socket.on('disconnect', () => {
console.log('Client disconnected');
});
});