Единственный способ, с которым я столкнулся, - это сгенерировать GUID на стороне клиента.Когда клиент подключается, он объявляет о себе другим через общедоступный канал, затем вы можете использовать GUID для отправки сообщений непосредственно этому клиенту.
Например, взять фрагмент кода из ответа этот предыдущий вопрос , чтобы сгенерировать что-то, похожее на UUID.
Затем вы можете сделать что-то на стороне клиента, например, так:
var guid = guidGenerator();
client.subscribe('/privChannel_' + guid, onPrivateMessage);
client.subscribe('/pubChannel', onPublicMessage);
client.publish('/announce', { 'myId': guid });
function onPrivateMessage() {
// do something
};
function onPublicMessage() {
// do something
};
Ваш сервер должен всегда подписываться на канал '/ announce', и когда любое сообщение публикуется в этом каналеон должен хранить этот идентификатор, чтобы он мог идентифицировать конкретного клиента.Затем сервер может использовать этот идентификатор для публикации на канале, на который должен быть подписан только этот клиент.
Обратите внимание, однако, что это не очень хорошая идея для конфиденциальных данных.Другие клиенты также могут подписаться на «/ анонс» и обрабатывать руководства в злонамеренных целях.