Публикувайте чрез zmq издателски сокет, но само за конкретна тема

Използвам модула zmq node.js и имам работещ издател/абонат. Но издателят публикува съобщения без тема в момента:

    publisher.send(JSON.stringify({some object }));  

и абонатът се абонира за всички topcis:

subscriber.subscribe(""); //всички съобщения

Това работи много добре, но бих искал да огранича публикуването до конкретни теми. Не можах да намеря как да направя това в документацията - може ли някой да ми каже как да публикувам съобщения само за конкретни теми?


person Sven Haiges    schedule 20.05.2014    source източник


Отговори (1)


Абсолютно! Да приемем, че искате да публикувате някои съобщения с тема fahrvergnügen и други с тема expeditiously.

Първият абонат се интересува само от теми, свързани с радостта от шофирането:

subscriber1.subscribe('fahrvergnügen');

Втори абонат се интересува само от подходящи методи за изхвърляне на отчуждени любовници:

subscriber2.subscribe('expeditiously');

Сега във вашия сървър, вместо да изпращате низ, който излиза на всички, изпратете масив от frames, където първият е вашата тема, а вторият (и всички следващи рамки) са частите на вашето съобщение:

publisher.send(['fahrvergnügen', 'message part one', 'message part two']);
publisher.send(['expeditiously', 'To be efficient and speedy']);
person Jason    schedule 20.05.2014