![]() |
Модераторы: Snowy, Poseidon, MetalFan |
![]() ![]() ![]() |
|
Adver_Doiren |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 11.12.2007 Репутация: нет Всего: нет |
Ситуация такая:
Есть два приложения с ClientSocket и с ServerSocket ака клиент и сервер в NonBlocking режиме, при включении клиент начинает по таймеру пытаться подключиться к серверу по указанному адресу. В случае, если сервер запущен до клиента всё замечательно, но если сервер запущен после клиента, то при включении начинают обрабатываться ВСЕ неудачные попытки подключения, что крайне мешает. Я пробовал заносить подключенные клиенты в массив, в OnConnect делать проверку и закрывать сокет, если в массиве уже есть запись об этом клиенте, но такой вариант нормально работает только при малом количестве клиентов, в "штатном" режиме(30+ клиентов) начинается полный бардак, что банально мешает работе основного алгоритма сервера. Как я понял клиент формирует некую очередь , которая при появления сервера в сети идёт в него целиком. Есть ли какой-нибудь способ эту очередь после неудачной попытки очистить, или какое-либо другое решение, чтобы при появлении сервера в сети к нему приходило по одному подключению на клиент? |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
![]() на сколько мне известно, это не так. ищи причину в другом Добавлено через 1 минуту и 19 секунд ха... так и представил. включаю комп, и у меня сеть "вешается" от миллионов несовершенных со мной подключений p2p клиентов. ![]() -------------------- There are always someone smarter than you... |
|||
|
||||
Adver_Doiren |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 11.12.2007 Репутация: нет Всего: нет |
Я к сожалению не могу понять в чём причина такой гадости, может есть у кого варианты?
Появились мысли переписать всё на синхронный режим, имеет смысл? |
|||
|
||||
Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: 1 Всего: 60 |
создавай динамически клиента если конект есть стоп таймер если дисконект или ошибка уничтожаем и создаем заново клиента если дисконект тоже уничтожаем... таймер запускается или иное действие.
-- покажи обработку у сервака подключения клиента может там ошибка у тебя? Это сообщение отредактировал(а) Sanchezzz - 28.12.2007, 23:57 -------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |