Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > многопоточность. одна сессия для всех потоков.


Автор: ispro 17.2.2012, 15:48
необходимо создать многопоточную программу, в которой каждый поток использовал уже созданную одну и ту же сессию авторизации на сайте.

то есть имеется два эдита(логин и пароль), поля заполняются пользовательски, после чего можно задать пользовательски количество потоков.

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

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

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

премного благодарен!

Автор: Frees 17.2.2012, 17:28
sid обычно хранится в куках, залогинься 1 раз получи куки и раздай их всем потокам.

Автор: ispro 19.2.2012, 01:58
Цитата(Frees @ 17.2.2012,  17:28)
sid обычно хранится в куках, залогинься 1 раз получи куки и раздай их всем потокам.

да, я знаю что session id хранится в cookie, дело в том как грамотно раздать эти cookie потокам?

Автор: MetalFan 20.2.2012, 13:14
Цитата(ispro @  19.2.2012,  01:58 Найти цитируемый пост)
как грамотно раздать эти cookie потокам? 

Зависит от способа (компонентов), используемого для доступа к сайтам.

Автор: MrDmitry 20.2.2012, 17:15
Цитата(ispro @ 17.2.2012,  15:48)
необходимо создать многопоточную программу, в которой каждый поток использовал уже созданную одну и ту же сессию авторизации на сайте.

то есть имеется два эдита(логин и пароль), поля заполняются пользовательски, после чего можно задать пользовательски количество потоков.

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

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

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

премного благодарен!

Ну а в чем сложность? Не знаю что вы там накодили но в общем случаи скорее всего нужно взять глобальную переменную, записать в неё сессию, передать её в поток, записать следующию сессию, записать в поток. А если хотите более подробного ответа, то приведите участок кода где получается сессию и создается поток 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)