https://www.npmjs.com/package/socket.io adresinde aslında yeterince açık.
mantığı basit aslında. server side ve client side. 2 şekilde ele alacaksınız.
server'a yukarıdaki paketi kurun.
dökümandaki şu ifade server side'dır
const server = require('http').createServer();
const io = require('socket.io')(server);
io.on('connection', client => {
client.on('event', data => { /*
*/ });
client.on('disconnect', () => { /*
*/ });
});
server.listen(3000);3000 portuna sahip bir server kuruyorsunuz.
http://IP:3000 gibi. IP yerine domainde olabilir.
Sonra websayfanızda (client side)
<script src='https://IP:3000//socket.io/socket.io.js' onload='baglan()'></script>
<script>
var socket={connected:false}
function baglan() {
var url='https://IP:3000';
var options={ 'reconnect': true,
reconnectionDelay: 500,
reconnectionAttempts:"Infinity,reconnectionDelayMax:1250}
socket = io.connect(url,options);
socket.on("connect",function() {
console.log("Socket Bağlandı!")
})
}
</script>Mesaj göndermek için yukarıdaki koda göre:
server side'ta client.emit("dinleyici","mesaj")
client side'ta socket.emit("dinleyici","mesaj")
mesajı almak için ise tabii listener lazım.
server side'ta yukarıdaki gibi:
client.on('event', data => { /*
*/ }); satırının altına üstüne farketmez ama 'connection' listenerın içine.
client.on('dinleyici', data => { /*
*/ }); data gelen mesajdır.
bu client side içinde aynı
socket.on("dinleyici", data => {})
gibi. fikir vermiştir umarım. dikkat etmen gereken durumlar 3000 portunu açmak. secure bağlantı için ben letsenrypt ile pfx oluşturuyorum.
biraz inceleyin, kurcalayın, karıştırın. takıldığınız yerde bilgim dahilinde buradan yardımcı olmaya çalışırım.