Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос: Как не потерять данные при разрыве связи?


Le! ©   (2002-08-20 08:32:00) 

Мастера помогите, есть сокетное соединение, но при разрыве связи прога выдает ошибку и закрывается, как этого избежать.


Digitman   (2002-08-21 16:11:00) [1]

>Agor

Разрыв соединения - понятие растяжимое.
И обрабатывает его автор хоть каким-либо образом - тоже под вопросом пока.


Agor   (2002-08-21 15:13:00) [2]

И все-же схема не меняется т.к. сообщение о разрыве соединения или состоянии все равно каким-то образом должно фиксироваться (иначе система вобще не будет знать когда соединение разорвалось) Тогда возможно переписать обработчик событий по ошибке что-то вроде этого ИМХО


Digitman   (2002-08-21 14:47:00) [3]

>Agor

Не все так просто. В случае асинхронных неблокирующих ф-ций/методов это работать не будет ожидаемым тобой образом. Ошибки транспортного уровня в таком режиме обрабатываются иначе.


Agor   (2002-08-21 14:31:00) [4]

Ну дык ты сам почти ответил на свой вопрос.

Тебе нужно самому обрабатывать ошибки и соответственно на них реагировать
В делфях есть такая фича как:
try
except
end;
блок когда идет передача засовываешь туда и потом обрабатываешь.


Digitman   (2002-08-21 08:14:00) [5]


> что надо вписать в прогу


И где же "прога" ? Где ее исх.текст ? Предлагаешь угадать с 3-х раз, что ты там понатворил в ней ?


> после того как прога повиснет мы уже не узнаем


В большинстве более-менее серьезных "прог" на то существует запись в файл протокола работы


Le!   (2002-08-21 07:52:00) [6]

Данные в проге, т.е. когда нарушается коннект и проходит время больше установленного мной таймаута( и даже помоему на много раньше),то прога выдает ошибку и виснет, а то и закрывается.
Например допустим: наша прога делает рассылку 5 писем, два отправились и связь полетела, после того как прога повиснет мы уже не узнаем кому мы отправили в кому нет. И хотелось спросить что надо вписать в прогу, чтобы при разрыве связи она не висла, а оставалась и ждала следующий коннект? Вот.


Digitman   (2002-08-20 08:42:00) [7]

>>Как не потерять данные при разрыве связи

И почему же ты их (данные) теряешь ? Те, что уже успел получить ?Поясни.


Наверх

Титульная страница Поиск, карта сайта Написать письмо