![]() |
|
Модераторы: Snowy, Poseidon, MetalFan |
![]()
|
|
| SeL |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 4.11.2010 Репутация: нет Всего: нет |
Здравствуйте. Пытаюсь написать программу на Delphi XE, суть её такова:
1) Это клиент - серверное приложение. 2)роль клиента заключается в том, что бы "сообщить" серверу уникальный ключ ID клиента и совершить "авторизацию" на сервере, после этого "завернуть" нужное приложение на proxy. В случае отключения сети (интернета) клиент не показывает приложению это, а просто выглядит как временная задержка пакетов. 3)Роль сервера заключается в том что бы принять авторизацию, начать работать с приложением как обычный socks прокси, но в случае внезапного отключения клиента (выбило интернет, etc) прокси заставляет думать приложения "из вне" что клиент жив и просто "задумался"(временно не отвечает). После того как на стороне клиента сеть (интернет, etc) появляется, он опять сообщает серверу свой ID и продолжает работать. Приложения не должны "замечать" разрыв соединения. В общем итоге можно сказать, что суть вопроса это построить "бесперебойную" логическую сеть. Так как я в delphi сетях разбираюсь мало, и максимум что писал это разные чаты, прошу гуру помочь в данном вопросе и натолкнуть меня в какую сторону "рыть" и про какие компоненты/технологии почитать. Попробую описать более приближенно к физическим фактам. Имеем любую игру, ну пусть это будет Warcraft 3. Человек запускает клиент программы, авторизируется на прокси, запускает варкрафт и играет через прокси. Тут бах, и интернет случайно отключается (ну всяко бывает), без прокси варкрафт выдал бы "связь с серверов потеряна и game over), а тут он выдаст "ожидание соединения с серверов". На стороне сервера другие игроки увидят "Ожидание игрока". Если клиент в течении 40 секунд ожидания успевает поднять интернет и подключиться к прокси то он продолжает играть в игру и сервера воспринимают это как, ну временную потерю пакетов мб. С авторизацией проблем у меня не будет, тут проблема именно в том как "завернуть" приложение на прокси и организовать вот это ожидание клиента. UPD: Про завернуть приложение, посмотрел старые исходники FreeCAP (2002 год) , там используется DLL инъекция, но написано что прокатывает только в 95,98,NT. Заранее спасибо. |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Таким образом можно обмануть клиент, но не сервер.
Даже, если клиенту и подсунуть пинг-пакеты, то он будет думать, что идет задержка, но вот сервер этому уже не поверит - нет ответа - отключаю. |
|||
|
||||
| SeL |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 4.11.2010 Репутация: нет Всего: нет |
Но сервер даёт 40 секунд ожидания клиента, а если IP не поменяется то почему бы ему не принять его назад в течении этих 40 секунд?
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Сети" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |