У меня есть приложение чата, использующее веб-сокет PHP. и я почти завершил его. теперь, когда обновляю страницу, соединение с сервера прервано, и мне нужно повторно подключиться к нему. и мое требование - как поддерживать сеанс для каждого пользователя, и другая проблема заключается в том, что когда я пытаюсь подключиться к сервер из другой вкладки того же браузера, то создается другое соединение с другим номером порта. если я поддерживаю сеанс, я могу преодолеть его, пожалуйста, помогите мне, как поддерживать сеанс в веб-сокете PHP.
могу ли я хранить информацию о сеансе на сервере веб-сокета
comment
пожалуйста, не предлагайте использовать кроме php websocket, например, nodejs, socketIO и т. д.
- person madan   schedule 28.12.2012
Ответы (2)
вы можете отправлять идентификатор сеанса каждый раз, когда отправляете новое сообщение на сервер веб-сокета, и вы можете легко проверить сеанс с идентификатором сеанса. нравится
session_id("your session_id");
session_start();
if(isset($_SESSION["email/username/id whatever"]) && ($_SESSION["password"])){
keep connected and process request
}
else{
disconnect
}
person
Ravinder Payal
schedule
30.05.2014
Я регулярно сталкивался с некоторыми проблемами, и php не является базой событий, поэтому я решил использовать веб-сокет python, а не веб-сокет php, и назначить сеанс объекту веб-сокета python в качестве атрибута. Большое спасибо за ваш ответ
- person madan; 31.05.2014
не говоря уже о моей обязанности помочь вам связаться с www.funnenjoy.com/ravinder (это хорошая социальная сеть)
- person Ravinder Payal; 31.05.2014
Вам просто нужно запустить сеанс на странице php. Ты можешь использовать
session_start();
а затем просто передайте необходимую переменную в $_SESSION[]
(это массив сеанса), после чего вы можете получить к ним доступ, пока не откроете браузер, не отключите вручную массив переменных сеанса или не уничтожите сеанс.
Чтобы отключить сеанс, вы можете использовать
unset($_SESSION['variableName']);
или если вы хотите уничтожить всю сессию, вы можете использовать
session_destroy();
person
Tatha
schedule
28.12.2012
спасибо за ответ, но как использовать подключение сеанса с веб-сокетом
- person madan; 28.12.2012
Для этого не нужно писать дополнительный код. Сам PHP справится с этим. Вы можете передать объект через массив сеанса в соответствии с обычным соглашением о доступе к массиву.
- person Tatha; 31.12.2012