Может сервер отправить подключенному клиенту какие нибудь данные?

Рейтинг: 1Ответов: 2Опубликовано: 05.04.2015

Вопрос вот в чем. К серверу обращаются клиенты (из браузеров по AJAX запросам). Можно как то через админку (PHP) отправить данные определенному клиенту? Ну к примеру предупреждение,сообщение? А то получается клиент обратился к серверу и ждет ответа, сервер ответ отправил (найдена или нет информация нужная клиенту по условию запроса).

Может я не очень понятно спросил? К серверу подключены 100 юзеров, по запросу я знаю их айпи, порт. Можно как то 56 юзеру отправить сообщение с админки или как то еще?

Ответы

▲ 2Принят

Если есть авторизованный пользователь на сайте, есть и его идентификация. Например через авторизационную cookie или значение в session. Учитывая это, лучше использовать функцию, которая будет проверять сообщения для пользователя на сервере:

 $(document).ready(function() {
    setTimeout(function(){
       $.get( "example.php", function(data) {
           if (data != '') alert(data);
       }
    } , 5000);
 });

Для этого примера надо подключать последний jquery.

<script src="http://code.jquery.com/jquery-latest.js"></script>
▲ 3

Посмотри про вебсокеты, при подключении пользователя, можно будет сохранить сессию, чтото что поможет его идентифицировать на стороне сервера. И со стороный сервера можно будет отправить в любой момент любый данные, и на клиенте их обработать. Это лучше чем Ajax запрос, потому что ajax требует действия о0т пользователя либо запроса по таймеру.