Единственный способ, с которым я столкнулся, - создать GUID на стороне клиента. Когда клиент подключается, он объявляет себя другим через «общедоступный» канал, затем вы можете использовать GUID для отправки сообщений непосредственно этому клиенту.
Например, возьмите кусок кода из ответа this previous question, чтобы сгенерировать что-то похожее на 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
};
Ваш сервер должен всегда подписаться на канал «/ объявляет», и когда сообщение опубликовано в этом канале он должен хранить, что id, чтобы он мог идентифицировать конкретного клиента. Затем сервер может использовать этот идентификатор для публикации на канал, на который должен быть подписан только этот клиент.
Обратите внимание, что это не очень хорошая идея для конфиденциальных данных. Другие клиенты также могут подписаться на «/ announce» и управлять контентом для вредоносных целей.
Благодарим вас за ответ. Есть ли у вас примеры, связанные с использованием GUID для каждого клиента? – Julio
Я добавил еще несколько слов, надеюсь, что это прояснит для вас. –