Форум: "Сети";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Внизtclientsocket без компонента на форме.. Найти похожие ветки
← →
evil_mike (2008-07-21 20:35) [0]Доброго времени суток.
Вот такой вопрос, как корректно завершить работу tclientsocket при закрытии приложения (окно создается через опенгл)? Если просто закрыть окно, на сервере вылезает ошибка из-за того что activeconnections превышает connections[]..free, destroy, socket.disconnect(0), close не помогают..
← →
Сергей М. © (2008-07-21 21:05) [1]
> как корректно завершить работу tclientsocket
Вызов метода Free вполне достаточен.
> окно создается через опенгл)? Если просто закрыть окно, на сервере вылезает
В огороде бузина, а в Киеве дядька.
> не помогают
Это ж не касторка, чтобы "помогать"
← →
Сергей М. © (2008-07-21 21:09) [2]
> tclientsocket без компонента на форме
Без какого еще такого "компонента" на какой-то еще там "форме" ?
ТСlientSocket - самодостаточный компонент, ни в каких других компонентах и формах он не нуждается вообще.
← →
evil_mike (2008-07-21 21:34) [3]
> Вызов метода Free вполне достаточен.
>
>
> > окно создается через опенгл)? Если просто закрыть окно,
> на сервере вылезает
>
>
> В огороде бузина, а в Киеве дядька.
Клиент и сервер же взаимосвязаны. Из-за того что клиент некорректно отрубается, на сервере тоже все неправильно рассылается. И, как я уже сказал, free не помогает.
← →
Сергей М. © (2008-07-21 21:37) [4]А мне "помогает".
Что я не так делаю ?
← →
evil_mike (2008-07-21 22:57) [5]У тебя тоже окно создается через опенгл, а в проекте нет формы?
← →
flaxe (2008-07-22 02:44) [6]Ошибка возникает на сервере, вот в нем и копайся.
> А если монтер дядя Вася у клиента свет выключит??
← →
evil_mike (2008-07-22 11:05) [7]flaxe
Я знаю, что она на сервере возникает..сам же это и сказал. Но она там возникает из-за некорректного закрытия клиента..если точно то же самое, что у меня в клиенте с опенгл, повторить на стандартной дельфовской форме с компонентом, все отлично работает при закрытии окна.
← →
Сергей М. © (2008-07-22 11:37) [8]
> если точно то же самое, что у меня в клиенте с опенгл, повторить
> на стандартной дельфовской форме с компонентом, все отлично
> работает при закрытии окна
А какая нафих разница, какое приложение монтер дядя Вася завершит некорректно ?
Ему ведь по барабану - он просто оттяпает бокорезами кабель)
И будь твой клиент хоть с формой , хоть без формы, хоть с компонентом, хоть без него, хоть с OpenGL, хоть с чертом лысым - эта ситуация является аварийной, и твой сервер обязан уметь ее обрабатывать правильно.
А он у тебя не умеет)
← →
evil_mike (2008-07-22 12:57) [9]Хорошо. А кроме периодической проверки клиентов на жизнеспособность - есть менее трафикозатратный способ?
← →
Сергей М. © (2008-07-22 13:47) [10]
> кроме периодической проверки клиентов на жизнеспособность
А зачем она нужна вообще ?
← →
evil_mike (2008-07-22 14:03) [11]А как мне иначе определить, жив клиент или отрубился?
← →
Сергей М. © (2008-07-22 14:16) [12]Обычным образом - вызываешь методы чтения/записи соответствующего этому клиенту сокета.
Если исключение не возникло, значит жив, иначе мертв)
Всего делов-то)
← →
Anatoly Podgoretsky © (2008-07-22 14:28) [13]> evil_mike (22.07.2008 14:03:11) [11]
А зачем?
← →
Сергей М. © (2008-07-22 14:31) [14]
> Anatoly Podgoretsky © (22.07.08 14:28) [13]
> А зачем?
Беспокоится о клиенте)
Боится опоздать то ли "03" вызвать то ли Шопена заказать)
← →
evil_mike (2008-07-22 14:55) [15]Хм..попробую. Спасибо.
← →
Anatoly Podgoretsky © (2008-07-22 14:56) [16]Пусть клиенты сами об этом заботятся, это же общепринятые нормы.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.1 c