Я создаю PHP api, который создает соединение сокетов клиента с моим Java SocketServer. Это будет использоваться для приложения чата для обучения.PHP Идентификация сокета по нескольким запросам
Итак, я настраиваю весь api в данный момент, и я немного удивляюсь, как я должен идентифицировать свой сокет. Чтобы сохранить сокет, я планирую его сохранить в $ _SESSION. Я прочитал, что идентификатор сокета не является хорошим способом идентифицировать его.
Каков наилучший способ хранения сокета в сеансе, и могу ли я иметь примеры кода?
Заранее благодарен!
Hey @Timon, если здесь нет какой-либо информации, вы не сможете сохранить сокет в $ _SESSION - сокет - это ресурс, такой как дескриптор файла. Поскольку различные запросы могут обрабатываться различными рабочими процессами (которые не могут передавать дескрипторы), вы не сможете хранить эти ресурсы для использования позже. Если вам нужно сохранить идентификаторы между запросами, пересылка идентификаторов сеансов PHP на ваш Java-сервер может быть лучшим способом сделать это, чтобы вы могли возобновить состояние сеанса, даже если сокеты не совпадают. – Leigh
@Timon, почему бы вам не связать некоторые соль (уникальный идентификатор) к вашему идентификатору сокета, а затем использовать на нем некоторую технику шифрования. это сохранит ваш идентификатор сокета, и вы его легко идентифицируете. Надеемся, что он работает для вас. –
Вы не сможете, если не очень сложно (реализовать), делиться сеансами между различными платформами программирования. Я предлагаю вам использовать систему очереди сообщений, такую как [Ratchet] (http://socketo.me/), чтобы делать push и pull сообщений. Кстати, [этот вопрос здесь] (http://stackoverflow.com/questions/25273500/rachet-chat-application-connection-closed-immediately-after-established-when-t) имеет все необходимое, чтобы создать новый PHP-чат приложение с laravel из коробки – Mysteryos