Форум: "Сети";
Текущий архив: 2010.03.28;
Скачать: [xml.tar.bz2];
ВнизКак подключить нескольких клиентов? Найти похожие ветки
← →
Plotnick (2008-07-06 16:09) [0]Есть задача - подключение к интернет-серверу с несколькими клиентами. Собственно, для каждого подключения создаю своего HTTP-клиента и по очереди подключаю. Но после того, как подключу первого (там есть авторизация - логин, пароль) все остальные при подключении к серверу, уже считаются подключенным с логином, паролем первого.
То есть, видимо как-то первым клиентом держится подключение что ли со всеми параметрами. А как бы так сделать, чтобы раздельно? И при этом, чтобы для каждого клиента соединение держалось?
← →
umbra © (2008-07-07 10:54) [1]
> Но после того, как подключу первого (там есть авторизация
> - логин, пароль) все остальные при подключении к серверу,
> уже считаются подключенным с логином, паролем первого.
> То есть, видимо как-то первым клиентом держится подключение
> что ли со всеми параметрами. А как бы так сделать, чтобы
> раздельно? И при этом, чтобы для каждого клиента соединение
> держалось?
>
что собой представляет клиент?
← →
Поросенок Винни-Пух © (2008-07-07 11:12) [2]Но после того, как подключу первого (там есть авторизация - логин, пароль) все остальные при подключении к серверу, уже считаются подключенным с логином, паролем первого.
Зачем считаются?
← →
Plotnick (2008-07-07 20:24) [3]Ну есть компонент TAlWinInetHttpClient
Создаю динамически несколько экземпляров. С одного через Post вхожу на сайт передавая логин и пароль. Он естественно считается подключенным уже и возвращает страничку пользователя.
Когда я прочими остальными экземплярами коннекчусь к сайту, они сразу же загружают уже эту страничку, этого же пользователя, не спрашивая у меня логин и пароль.
А хотелось бы чтобы каждый мог подключиться с каким-то своим логином и паролем и работал как отдельный пользователь сайта.
Вот не знаю как это сделать.
Конечно, расчитывать, что каждый в курсе, что за компоненты я юзаю глупо, но я думаю, что дело тут не в каком-то конкретном компоненте, а в каких-то опциях с которыми компонент подключается к инету.
← →
umbra © (2008-07-07 23:28) [4]
> Конечно, расчитывать, что каждый в курсе, что за компоненты
> я юзаю глупо, но я думаю, что дело тут не в каком-то конкретном
> компоненте, а в каких-то опциях с которыми компонент подключается
> к инету
Дело непонятно в чем. Можете предоставить логи хттп-запросов от ваших клиентов к серверу?
← →
plotnick (2008-07-08 16:25) [5]Для начала тогда механизм, наверное имеет смысл.
Для проверки подключен клиент или нет вызывается
Get("сайт/my.html")
Если подключен, то возвращается страничка пользователя.
Если не подключен, то возвращается страничка в которой нужно вводить логин и пароль. Ну соответственно вызывается
Post("сайт/login.html",varlist)
где varlist - список переменных (логин, пароль и т.д.)
Если все успешно, то опять-таки возвращается страничка пользователя.
Далее проверяю подключение следующего клиента, то есть вызываю
Get("сайт/my.html")
и возвращается страничка предыдущего подключенного клиента, вместо того, чтобы выдать очередную страничку со вводом логина и пароля.
То есть, получается возможным подключение только одного клиента в один момент времени. Для того, чтобы подключить следующего, надо сделать
Get("сайт/logout.html")
Тогда при следующем подключении выдаст страничку с логином и паролем.
Вот.
← →
umbra © (2008-07-08 16:31) [6]очевидно, где-то засела кука, которую видят и используют все клиенты
← →
umbra © (2008-07-08 16:33) [7]или сервер принимает только одну сессию от айпи. или по рефереру определяет, что это тот же клиент.
← →
Plotnick (2008-07-08 19:07) [8]Ну вот проверил сервер. То есть вошел с разных браузеров под разными логинами. Нормально все.
← →
Plotnick (2008-07-08 19:53) [9]У самого компонента не так много свойств, чтобы поиграться.
wHttpIo_Async,
wHttpIo_From_Cache,
wHttpIo_Offline,
wHttpIo_Cache_if_net_fail,
wHttpIo_Hyperlink,
wHttpIo_Ignore_cert_cn_invalid,
wHttpIo_Ignore_cert_date_invalid,
wHttpIo_Ignore_redirect_to_http,
wHttpIo_Ignore_redirect_to_https,
wHttpIo_Keep_connection,
wHttpIo_Need_file,
wHttpIo_No_auth,
wHttpIo_No_auto_redirect,
wHttpIo_No_cache_write,
wHttpIo_No_cookies,
wHttpIo_No_ui,
wHttpIo_Pragma_nocache,
wHttpIo_Reload,
wHttpIo_Resynchronize,
wHttpIo_Secure
Пробовал ставить wHttpIo_No_cookies - вообще коннектиться перестал. По умолчанию также у него устанавливается wHttpIo_Keep_connection.
← →
umbra © (2008-07-08 23:52) [10]
> Пробовал ставить wHttpIo_No_cookies - вообще коннектиться
> перестал.
Значит сервер таки выдает куки.
Похоже, что ваш компонент - это некий наследникTWebBrowser
, что означает общие куки. Используйте не браузер, а хттп-клиент типаTIdHTTP
← →
plotnick (2008-07-09 14:13) [11]Только уточнить хочу, не "коннектиться перестал", а "логиниться перестал". Хотя в моем случае возможно, что и без разницы. Ладно, спасибо, попробую idhttp
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2010.03.28;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.004 c