![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TClientSocket разрыв соединения
Эдик © (2004-08-19 14:46:00)Всем привет!
Наткнулся на такую странную проблему...
Есть серве (TServerSocket), к нему подсоединяються клиенты (TClienSocket), дальше, для того, чтобы проверить, не отпали ли клиенты сервер каждую минуту пытаеться отправить им всем пустую строку, клиенты в свою очередь таким же образом со своей стороны проверяют связь с сервером, все путем...
Но, переодически клиенты закрывают соединение по неизвестной причине, причем на сервере возникает ошибка 10053 - WSAECONNABORTED "Сбой из-за слишком большой задержки или по другой причине", хотя такое же событие возникает, когда клиент делает Socket.Close... т.е. штатная ситуация, но почему клиенты закрывают содинение???
Эдик (2004-08-19 17:51:00) [1]приемник отсоединяется, не приняв все сообщения, но отсоединяется без ошибок...
Digitman (2004-08-19 17:01:00) [2]
> насколько стабилен виртуальный канал соединения?
настолько насколько стабилен физический канал и корректны алгоритмы обеих сторон соединения
> если из 150 каналов в течении нескольких минут один разрываеться
> без видимых на то причин
причины всегда есть
> может это нормально???
нормально, если причиной послужили нарушения в физическом канале
но это, судя по 10053, не твой случай ... твой случай - некорректность алгоритма "партнера" по соединению
> инициатор разрыва - клиентская машина
опять ты про "клиента" ?
еще раз повторяю - после коннекта нет ни "клиентов" ни "серверов", а есть в каждый момент времени "приемник" и "передатчик"
Эдик (2004-08-19 16:42:00) [3]насколько стабилен виртуальный канал соединения? и если из 150 каналов в течении нескольких минут один разрываеться без видимых на то причин... может это нормально??? каналы между одним сервером и 150 компами, инициатор разрыва - клиентская машина
Digitman (2004-08-19 15:57:00) [4]
> Эдик (19.08.04 15:50) [3]
после установки соединения нет никаких "клиентов", нет никаких "серверов"
есть виртуальная петля соединения (ну или вирт.канал соединения), на каждом из концов которого в каждый момент времени есть "передатчик" и "приемник" сообщения ... переформулируй вопрос с учетом этой важной поправки
Эдик (2004-08-19 15:50:00) [5]периодически, согласен...
а как? на стороне клиента никаких ошибок не возникает...
Digitman (2004-08-19 15:43:00) [6]
> переодически
в русском языке это слово - однокоренное со словом "пер Иод"
> по неизвестной причине
она и будет неизвестной, пока ты ее не определишь
Эдик (2004-08-19 15:29:00) [7]Небольшая поправка, такое событие при корректном закрытии клиента не возникает, возникает, когда клиент не все прочитал...