-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.js
34 lines (31 loc) · 1.21 KB
/
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
const http = require("http");
const express = require("express");
const app = express();
const server = http.createServer(app);
app.use(express.static("./"));
const socketIO = require("socket.io");
const io = socketIO(server, {
cors: {
origin: "*",
},
});
io.on("connection", (socket) => {
socket.on("clientMessage", (data) => {
io.emit("serverMessage", data);
});
socket.join(["nodejs", "php"]); // ---> جوین میشه تو یه رومی
socket.leave("php"); // ---> از یه رومی خارج میشه
socket.compress(false).emit();
socket.broadcast.emit("event", "message"); // ---> این مسیج به تمام کلاینت ها ارسال میشه به جز خودش
socket.on("disconnecting", (reason) => {
console.log(reason);
}); // ---> وقتی داره قطع میشه و میخوایم دلیل قطع شدگیش رو بگیریم
socket.on("disconnect", (data) => {
console.log(data);
}); // ---> برای وقتی هست که اتصال به طور کامل قطع شده
io.to("nodejs").emit("a new user aded");
console.log(socket.rooms);
});
server.listen(3000, (err, res) =>
console.log("run on port " + "http://localhost:3000/")
);