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

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

Клиент-сервер(WinXP-Win98) [Win95/98, WinXP]


DeGlucker ©   (2005-08-26 12:28:00) 

Привет всем! Народ, такая проблема:

в сети есть две машины, одна под Win98 другая под WinXP, на той что под 98-ми стоит сервер обмена данными и програмка учета. Программка учета имеет поле для ввода, в которое пишет сервер, сам сервер работает в режиме ожидания, т.е. при обращении к нему клиента который стоит на машине под XP, сервер пишет в поде для ввода необходимое значение. Все бы оно хорошо, если б работало, но работает оно только почему-то из под XP(хоть на локальной машине под управлением XP, хоть по сетке под теми же XP-ми), а в связке Win98-сервер и WinXP-клиент, сервер после подключения клиента держит соединение некоторое время(минуты две) и работает нормально, а потом сервер теряет клиента, хотя думат что подключение еще есть и продолжает пихать в поле для ввода последнее посланое клиентом значение, перезапуск клиента ничего не дает, заново клиент не подключается и сервер по таймауту соеденение не сбрасывает(он похоже думает что все нормуль). Подскажите плиз где грабли! Добавлю что все это писано на Delphi 2005, кому надо могу выслать исходник. Поставить везде WinXP просьба не предлагать!


Digitman   (2005-08-26 16:51:00) [1]

хам.


DeGlucker   (2005-08-26 16:37:00) [2]


> какой транспортный протокол используется ?

TCP/IP ясен пень!


> только это ни в коем случае не оправдывает тебя как программиста,
> неспособного реализовать алгоритм, гарантированно отслеживающий
> момент потери коннекта с удаленным партнером


Ты глупер или у тебя со зрением не все в порядке, а может просто не внимателен, я ж написал что сервер не видит потери соединения!!! Если б я знал почему это происходит я б сюда б наверное писать бы не стал! Или ты сразу с рождения начал на горшок ходить? Наверняка как все сначала в штаны гадил! ;-)


Digitman   (2005-08-26 16:25:00) [3]


> трассировка ничего необычного не показывает


того быть не может.

какой транспортный протокол используется ?


> думаю мож там виндоза какая глючная стоит


может и "глючная" (Wni9x зачастую действительно страдает потерей сетевых сессий, особенно - при сетевых сессиях с НТ-серверами), только это ни в коем случае не оправдывает тебя как программиста, неспособного реализовать алгоритм, гарантированно отслеживающий момент потери коннекта с удаленным партнером


DeGlucker   (2005-08-26 16:19:00) [4]


> ну так и оттрассируй код своей формы с целью обнаружения
> причины происходящего !


Пробовал, трассировка ничего необычного не показывает!


> что этому мешает ?


Время! 2 минуты реального времени, в режиме трассировки растянулись почти на час и так ничего и не произошло, т.е. все работало как и должно! Я уж думаю мож там виндоза какая глючная стоит!


Digitman   (2005-08-26 15:36:00) [5]

ну так и оттрассируй код своей формы с целью обнаружения причины происходящего !

что этому мешает ?


DeGlucker   (2005-08-26 15:20:00) [6]


> каким образом ты отслеживаешь состояние соединения в своей
> программе-сервере ?


Очень просто! Я сделал для сервера форму которая в реальном времени отображает его состояние! Что к нему приходит, что он куда записывает, видит он клиента или нет, нашел он поле для ввода или нет и т.д.


DeGlucker   (2005-08-26 15:18:00) [7]

To Digitman:


> а какое тогда отношение программка учета имеет к проблеме
> взаимоотношений сервера и клиента ?

Отношение очень простое, программа учета значение в поле для ввода берет с устройства висящего на COM-порте, так вот сервер благополучно это значение исправляет, помимо этого он же исправляет это же значение в базе, база Paradox dBase.


> ты заявил о проблеме потери соединения ПРОГРАММЫ-СЕРВЕРА
> с ПРОГРАММОЙ-КЛИЕНТОМ, и в этом суть, насколько я понимаю
> ..


Совершенно верно!


> так а причем здесь тогда поле ввода, НЕ имеющее отношения
> к программе-клиенту ?


Вообщем-то нипричем эт просто чтоб понятней было что и как происходит!!


Digitman   (2005-08-26 15:03:00) [8]

и вообще - на основании чего ты утверждаешь, что


> сервер после подключения клиента держит соединение некоторое
> время(минуты две) и работает нормально, а потом сервер теряет
> клиента


?

каким образом ты отслеживаешь состояние соединения в своей программе-сервере ?

или то самое поле для ввода, упомянутое тобой всуе, и есть единственный идентификатор состояния соединения, на основании показаний которого ты сделал столь глубокое умозаключение ?!


Digitman   (2005-08-26 14:59:00) [9]

а какое тогда отношение программка учета имеет к проблеме взаимоотношений сервера и клиента ?

мало ли что твоя программа-сервер творит с другими программами, работающими на той же машине, но не являющимися программами-клиентами по отношению к твоей программе-серверу !

ты заявил о проблеме потери соединения ПРОГРАММЫ-СЕРВЕРА с ПРОГРАММОЙ-КЛИЕНТОМ, и в этом суть, насколько я понимаю ..

так а причем здесь тогда поле вода, НЕ имеющее отношения к программе-клиенту ?


DeGlucker   (2005-08-26 14:52:00) [10]

To Digitman:

Если ты внимательно прочитаешь мой пост, то увидишь что программа учета это Stand Alone приложение и никакой не клиент! Программа учета и сервер находятся на машине с Win98 клиент на машине с WinXP, сервер записывает данные в окошко программы, вот примерно так! После запуска машин вся эта связка работает не больше 2-х минут, а потом сервер теряет клиента, хотя и продолжает записывать данные в окошко!


Digitman   (2005-08-26 14:44:00) [11]


> все это писано на Delphi 2005


если это писано тобой, не вижу причин для паники - исходники есть, Делфи-среда есть, встроенный в нее отладких есть ..

Расставляй в коде "ловушки", трассируй проблемное приложение, выводи в файл протокол работы программы в ее потенциально "узких" местах .. одним словом - займись обычной отладкой своей программы


Digitman   (2005-08-26 14:41:00) [12]

Программка учета - это клиент ?
Поле ввода как раз в этойпрограмме ?

Тогда непонятно, КАКИМ образом твой сервер, если он "потерял клиента", еще умудряется "продолжать пихать в поле для ввода", если это поле воода - объект совершенно другого приложения (клиентского, с которым уже потеряна связь) на другом компьютере ?


Наверх

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