Разрешить серверу Node.js WAMP.IO подписаться на публикацию клиентов с целью измерения задержки.

Я знаю, что предполагаемый вариант использования шаблона Pub/Sub состоит в том, чтобы позволить клиентам «многоадресно передавать» друг другу напрямую, а серверы работать прозрачно. Но было несколько случаев, когда я хотел бы, чтобы мой сервер реагировал на публикацию клиентов. В основном я хотел бы server.Subscribe('event:ident', callback). Прежде чем приступить к реализации этого, я думаю, что я не первый, кто сталкивается с этим ограничением. Народ, как вы это решаете?

В этом последнем случае я хотел бы измерить задержку между двумя клиентами. Поэтому я позволяю первому клиенту опубликовать сообщение, на которое другой клиент подпишется и ответит как можно скорее. Очевидно, что трафик будет проходить через сервер. Поэтому я хотел бы, чтобы сервер также отвечал, чтобы я мог отделить задержку от первого клиента к серверу от задержки от сервера до второго клиента.

Видите ли вы какие-либо подводные камни в этом подходе? (За исключением того, что я нарушаю строгий шаблон PubSub)

Обратите внимание, что я использую библиотеку WAMP.IO (реализующую WAMP-протокол) . Я не говорю о серверах Windows, Apache, PHP и MySQL!


person Henrik    schedule 23.01.2014    source источник


Ответы (1)


Для WAMPv1 (уродливое) решение состоит в том, чтобы сломать шаблон PubSub и заставить клиента публиковать сообщение как RPC, где затем сервер публикует сообщение PubSub.

В WAMPv2 (в разработке) сервер также сможет подписываться на темы.

person gzost    schedule 25.01.2014
comment
Я так боялся, но приятно знать! Поскольку я, вероятно, буду использовать свое приложение только в закрытой контролируемой среде, я попробую WAMPv2. - person Henrik; 26.01.2014