Перенос веб-приложения Ajax в веб-сокет - PullRequest
0 голосов
/ 08 января 2011

Я думаю, что мне просто не хватает небольшой детали, которая мешает мне видеть всю картинку.

У меня есть веб-приложение, которое каждый раз использует ajax-запрос для обновления клиента новой информацией или задачами.

У меня также есть длительный процесс на сервере, который является механизмом вычислений Java.Я хотел бы, чтобы этот движок отправлял обновление клиенту.

  1. Мне интересно, как перенести мое веб-приложение на использование websocket.Возможно phpwebsocket или аналогичный.Может ли мой сервер «решить» отправить информацию конкретному клиенту?Кажется возможным взглянуть на php-websocket.

  2. Может ли мой длительный бэкэнд-процесс Java использовать сервер websocket для отправки уведомлений определенному клиенту.Как?Ну, я могу сказать, что мое приложение Java может использовать класс, который может отправлять через веб-сокет вместо http.

Но как сервер веб-сокетов знает, какому клиенту отправить «информацию».Я озадачен всем этим.Любой документ, который объясняет это более подробно?Кажется, что websocket может создать экземпляр моего веб-приложения.

Спасибо

1 Ответ

0 голосов
/ 08 января 2011

Ваш сервер, на котором будет произвольное количество активных клиентских сокетов, решает, в какие из них писать (возможно, в ответ на входные данные пользователя).

phpwebsocket (что все еще очень грубокрая) имеет класс User с полями $id, $socket (это базовый сокет TCP) и $handshake.Вы можете расширить этот класс дополнительными метаданными о User (например, идентификатор вычисления).Или вы можете использовать отображение массива из идентификатора вычисления в User.

Возможно, когда Java-вычисления n завершатся, вы можете посмотреть сокет, связанный с этим вычислением, и записать его в сокет.

...