ugrás a tartalomhoz

Websocket továbbítás IP alapján

vmarci21 · 2015. Szep. 3. (Cs), 18.18
Sziasztok,
azt szeretném megoldani Node.js-el, hogy a Websocket-el küldött üzenetek csak ugyanarra az IPcímről jövő kapcsolat(ok)ra legyenek továbbküldve amelyről jöttek.
var WebSocketServer = require("ws").Server
var http = require("http")
var express = require("express")
var app = express()
var port = process.env.PORT || 5000
app.use(express.static(__dirname + "/"))
var server = http.createServer(app)
server.listen(port)
var ennyi = 0;
var wss = new WebSocketServer({server: server})
wss.broadcast = function(data) {
 for (var i in this.clients){
if(IP-k ugyanazok-e){ //IP ellenőrzés
 this.clients.send(data);
}
}
}
wss.on("connection", function(ws) {
ennyi++;
var ip = ws.upgradeReq.connection.remoteAddress; //IP lekérés
 ws.on('message', function(message) {
 wss.broadcast(message)
 })
 ws.on("close", function() {
ennyi--;
 })
})
 
1

Megnézted?

Poetro · 2015. Szep. 4. (P), 10.16
Megnézted, hogy a kliensnek (this.clients[i]) milyen tulajdonságai vannak? Közöttük lennie kell egy Socket-nek, aminek van remoteAddress tulajdonsága.
2

Majdnem

vmarci21 · 2015. Szep. 4. (P), 18.41
Köszi, ez tényleg megy. Most már csak annyi a probléma, hogy nem a valós IP-t adják vissza, mindig mást.. :( (upgradeReq.connection.remoteAddress)

Így ez nekem sajnos nem jó. Viszont azt hiszem így már meg tudom csinálni amit szeretnék, mert igazából nem az Ip, hanem egy "ellenőrzési" rendszer a cél, ne lehessen össze-vissza "üzengetni" a kliensek között ;)