Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];

Вниз

Почему клиент не получает сообщение?   Найти похожие ветки 

 
Leny   (2002-08-01 13:52) [0]

При закрытии серверного приложения сервер посылает всем клиентам сообщение (описано в procedure TServer.FormClose).
Почему клиент не получает это сообщение (принимаю его в TClient.ClientSocket1Read)?


 
Digitman   (2002-08-01 14:26) [1]

В синхронном режиме это будет и в FormClose работать.
Но у тебя как помнится - асинхронный режим. Это означает, что закрытие гнезда происходит раньше, чем полностью отработает send-метод.

Иными словами, вызываемый тобой send-метод не блокирует выполнение последующих операторов в обработчике FormClose на время РЕАЛЬНОЙ передачи данных, а лишь ставит запрос на передачу в очередь, и после этого выполнение продолжается со след.строчки. Как только выполнится весь обработчик, у тебя, очевидно, разрушается и сам объект-форма, вместе с компонентом TServerSocket, так и не успевшим передать все то, что было поставлено в очередь на передачу.


 
Digitman   (2002-08-01 14:29) [2]

Еще раз заострю твое внимание на том, что очер. твоя проблема - из той же опреры, что и предыдущая : из-за непонимания различий в работе гнезд в блокирующем (синхронном) и неблокирующем (асинхронном) режимах ...

Почитала бы уж что-нибудь на эту тему, давно пора .. да повнимательней ..



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.007 c
1-8053
X-Shadow
2002-09-22 06:20
2002.10.03
Помогите в этим пожалуйста


14-8115
Anatoly Podgoretsky
2002-09-07 03:15
2002.10.03
Что нового в Delphi 7


14-8147
kolobok11
2002-09-09 10:25
2002.10.03
Винты, винты, винты ...


14-8120
RV
2002-09-02 10:00
2002.10.03
---|Ветка была без названия|---


7-8191
иван
2002-07-24 09:17
2002.10.03
Работа с реестром





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский