Сохранение соединения открытым для каждого клиента в php - PullRequest
1 голос
/ 05 октября 2010

У меня есть бэкэнд-приложение C ++, закодированное через сокет TCP, к которому я подключаю PHP.Проблема в том, что соединение закрывается при каждом обновлении, странице изменения и т. Д. Я хотел бы оставить соединение открытым для каждого клиента, делая что-то вроде $ _Session.

Ответы [ 2 ]

2 голосов
/ 05 октября 2010

Хотя я не очень разбираюсь в PHP, я могу вам сказать, что веб-браузеры не предназначены для непрерывных соединений.Им приходится переподключаться каждый раз, когда они делают запрос HTML.

Стандарт HTTP указывает, что сервер отключится от клиента после того, как он завершит отправку своего запроса.

2 голосов
/ 05 октября 2010

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

Что говорит против использования в вашем приложении обычных механизмов сеанса (т. Е. Работы с файлами cookie идентификатора сеанса), как и у других клиентов?

Я не эксперт в C ++, но я уверен, что большинство библиотек http могут справиться с «cookie-файлом», который, по сути, - все, что вам нужно для сохранения сеанса в клиентском приложении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...