2016-09-05 3 views
1

Мы разработали веб-приложение (HTML/CSS/JavaScript на клиентской стороне, веб-службы на стороне сервера). Каждое действие пользователя на стороне клиента вызывает какой-либо веб-метод на стороне сервера.Отправка «сообщения» с серверной стороны на клиентскую сторону

Но у нас есть некоторые проблемы, когда пользователь открывает несколько приложений с помощью нашего приложения, поэтому мы решили принудительно выйти из всех вкладок браузера (за исключением текущей вкладки) каждый раз при входе пользователя в систему на вкладке другого браузера. Как мы можем реализовать, что клиентская сторона сможет получать «сообщения» со стороны сервера?

+3

Должно быть закрыто! Просто используйте такие веб-сайты, как autobahn.ws/node.js/.... –

+1

Я думаю, вы должны добавить некоторые уникальные идентификаторы/токены для каждого экземпляра пользовательского/клиентского приложения, чтобы каждая вкладка создавала его, и не было бы конфликтов, а не закрытие всех вкладок (но Telegram все еще делает это) – booboos

+1

Я бы предложил вместо этого изменить приложение, чтобы он был дружелюбен к предпочитаемому пользователю способу работы (несколько вкладок), а не удивлять и, вероятно, раздражать пользователя, регистрируя их на других вкладках, а затем открыть новый. –

ответ

2

Когда вы говорите, отправив сообщение с сервера на стороне с клиентской стороны, я предполагаю, что вы не хотите ответа на Node.js нравится:

res.status(200).send('Hello World') не так ли?

Итак, вам нужно использовать websockets. Я рекомендую вам использовать socket.io

Вам нужно отправить сообщение с гнездом на серверной стороне и прослушать это сообщение на вашей стороне клиента.

С помощью веб-портов вы можете отправить сообщение каждому пользователю, идентифицированному с помощью идентификатора, или отправить сообщение в эфир. Есть много возможностей с веб-сайтами.

Примеры использования веб-сайтов приведены в Интернете. Я думаю, это то, что вы ищете.