271
Vývoj / Re:Node.js + Socket.IO a posílání zpráv z jiné aplikace
« kdy: 18. 05. 2017, 11:17:44 »Dobrý den.Systémové řešení jen mít prostě API pro IPC a onen objekt registrovat. IPC pak bude běžet nezávisle a posílat data dle potřeby. Koncepčně čisté řešení jsou například kanály (CSP), i když zrovna v JS se CSP implementuje dost blbě.
Snažím se proniknout do node.js a socket.io a z některých věcí nejsem trochu moudrý. Vezměme jejich příklad s jednoduchou chat aplikací.Ten je celkem srozumitelný.
Ovšem jsem v koncích, když přemýšlím, jak to propojit s externími aplikacemi.
Když už jsme u jejich kódu chatovací aplikace:Kód: [Vybrat]var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
chápu že si pomocí require vytvořím express framework objekt, v jeho rámci objekt http serveru (a ten někam bindnu), v rámci serveru si vytvořím objekt io, reprezentující websocket, (víceméně matrjoška) jakmile se na něj někdo připojí vznikne socket
A v jeho rámci reaguji na události - socket.on("událost", function(blah){udělejněco})Kód: [Vybrat]io.on('connection', function(socket){
socket.on('chat message', function(msg){
io.emit('chat message', msg);
});
});
Řekněme že se připojí součastzně Franta a Pepa. Chápu, že jejich spojení a jejich websockety nepromíchají neb každé patří do jiné instance objektu socket z jejich příkladu. Řekněme, že si Franta i Pepa vymění nějaké autorizační zprávy ze serverem a tedy bude jasné kdo je na kterém socketu.
Problém začíná, když potřebuji přes takto navázané spojení poslat klientovi data z jiného běžícího programu.Řekněme, že něco běžícího na serveru dojde k názoru, že potřebuje poslat zprávu Pepovi.
Otázklou je JAK to propojit. Zkrátka čím a jak "vstoupit" dovnitř těch vnořených objektů (a do toho správného) a říci (vyvolat událost): ted pošli TYTO data.
Hloupého kopni.... Umí mi prosím někdo vyplnit toto bílé místo ? Děkuji.


Byť to je obecně naopak, pos... se lopaty z lidí, co mají inteligenci, znalosti a úspěchy
