Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Проверка сокетного соединения (C++Builder)

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Niafalcon
Гость





СообщениеДобавлено: Чт Фев 14 2002 13:10    Заголовок сообщения: Проверка сокетного соединения (C++Builder) Ответить с цитатой

Есть две программы: серверная и клиентская, соединенные сокетным соединением (TServerSocket, TClientSocket).
При загрузке клиентской проги на каком-либо компе (серверная постоянно весит на сервере), собственно, и устанавливается это соединение по одному порту. Вопрос: как серверной проге обнаружить, что клиентская прога некорректно вырубилась (например, при падении компа). Она у меня продолжает считать, что соединение по-прежнему присутсвует. Пробовал с серверной проги периодически рассылать пустые сообщения всем клинтам, но при падении одного из клиентов, серверная прога сильно тормозит (видимо, слишком упорно пытается достучаться до клиента). Как можно более рационально проверить, есть соединение или нет?
Вернуться к началу
Mike



Зарегистрирован: 17.11.2001
Сообщения: 339
Откуда: ekb

СообщениеДобавлено: Чт Фев 14 2002 13:45    Заголовок сообщения: Re: Проверка сокетного соединения (C++Builder) Ответить с цитатой

Может подойти с другой стороны - пускай клиенты периодически посылают сообщения, если какое-то время сообщения нет, значит клиент упал
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Niafalcon
Гость





СообщениеДобавлено: Чт Фев 14 2002 14:09    Заголовок сообщения: Re: Проверка сокетного соединения (C++Builder) Ответить с цитатой

Хм... А как проверить, пришло сообщение за определенный отрезок времени или нет? Как их собирать, кроме как событием TCustomServerSocket::OnClientRead ? И как это событие связать с таймером?
Вернуться к началу
Valera
Гость





СообщениеДобавлено: Пт Фев 15 2002 06:42    Заголовок сообщения: Идеология должна быть другая. (+) Ответить с цитатой

Для нескольких соединений используй servertype=Blocking
организуй на каждое соединенеие отдельный поток.
Используй TSocketStream.
Там и время можно задать.
Вернуться к началу
wDevil



Зарегистрирован: 24.02.2002
Сообщения: 3
Откуда: Новосибирск

СообщениеДобавлено: Вс Фев 24 2002 20:42    Заголовок сообщения: Re: Проверка сокетного соединения (C++Builder) Ответить с цитатой

ПО-моему, проще задать параметры сокета: установить таймаут! Если от клиента не приходит ни каких данныз - значит разрыв
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...