Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Веб-клиент и флеш-клиент - разные сессии. Почему или как объединить? (http://www.flasher.ru/forum/showthread.php?t=123551)

IDimitry 04.04.2009 05:46

Веб-клиент и флеш-клиент - разные сессии. Почему или как объединить?
 
Имеется веб-клиент - скажем, простая страничка, на которой находится флеш, который открывает свое соединение с сервером. Сессии, используемые запросами странички и флеша, разные. Думаю, не ошибусь, если предположу, что это специфика работы с кукисами - страница имеет полный доступ, а флешка или не имеет доступа, или по-другому работает с параметром сессии, прописанным там.
Суть в том, что в сессии страницы хранятся атрибуты, которые мне было бы удобно использовать в сессии флешки. Реально ли, чтобы флешка использовала ту же сессию ... (или перенос атрибута :), что было бы лучше всего)?

duhowka 04.04.2009 19:37

странно. Есть прецеденты разных идентификаторов сессий? я попробовал на php, все ок. У меня один PHPSESSID присвоился. На сколько я знаю этот идентификатор присваивается браузеру. Прочитав его, я спокойно вынул из флеша через скрипт атрибуты сессии
з.ы READING AND WRITING COOKIE
з.ы.ы так сказать вольный перевод из мануала. переменную сессии можно передавать двумя способами: в cookies или POST/GET запросом. PHP использует оба варианта. В зависимости от настроек в php.ini: session.use_cookies - ....
session.use_trans_sid - .... Может быть в этом проблема?

IDimitry 04.04.2009 23:07

Спасибо, конечно, за ответ, но проблему я решил ... :)
Только у меня на сервере Java, поэтому имя идентефикатора сессии - JSESSION.
Я на странице брал id сессии (из контекста) и передавал во флешку. Там для проверки делал запрос на сервер и передавал id сессии серверу для проверки. Получалось, что переданный идентефикатор и идентефикатор, взятый из реквеста, разные ...

Проблема решилась достаточно просто: в заголовок, который я создаю во флешке для запроса на сервер, помещаю строку (которая уходит в сокет):
Код AS3:

writeUTFBytes("GET http:{мой адрес} HTTP/1.1\r\n" + {другие параметры заголовка} + "Cookie: JSESSIONID=" + session_id + "\r\n");

session_id - тот самый идентефикатор, переданный со страницы флешу.

duhowka 05.04.2009 05:00

ну в php, в принципе, тот же самый алгоритм =)


Часовой пояс GMT +4, время: 16:29.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.