2010-11-13 3 views
1

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

Любая помощь была бы принята с благодарностью. Заранее спасибо!

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

Я могу вместить все на одной странице, но должен иметь возможность взаимодействовать с пользователем.

+1

PHP не может реально сделать это эффективно, поскольку каждое открытое соединение связывает весь процесс PHP на веб-сервере. Лучший подход с использованием PHP - периодический опрос сценария с использованием AJAX. – Matthew

+1

Можете ли вы предоставить больше информации о том, что вы пытаетесь выполнить с помощью этого сокета? Будете ли вы использовать веб-гнездо? –

+1

Розетки и сеансы - это две разные вещи. Можете ли вы уточнить, что вы хотите сделать? – deceze

ответ

3

Если вам необходимо установить соединение сокета с клиентом, вам необходимо будет использовать веб-сокеты. Они очень новы и поддерживаются только в нескольких браузерах.

Если вам нужно открыть HTTP-соединение, вы можете сделать это с помощью AJAX, но только до тех пор, пока пользователь останется на одной странице. Возможно, вам также придется периодически закрывать соединение и открывать новый, так как многие браузеры будут отключать соединение через короткое время.

Смежные вопросы