![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос: Как не потерять данные при разрыве связи?
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]>>Как не потерять данные при разрыве связи
И почему же ты их (данные) теряешь ? Те, что уже успел получить ?Поясни.