Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.26;
Скачать: CL | DM;

Вниз

Как ждать ответа от сокета?   Найти похожие ветки 

 
Repeater   (2002-10-30 17:09) [0]

Такая проблемка. Есть сокет. Я подконектился к хосту и послал данные. Как теперь программно "подождать" до того времени пока сервер не ответит. Тоесть пока сервер не прислал никаких данных программа должна остановится и ждать. А как только данные придут - продолжить свою работу. Можна чисто для винапи, а можно и применительно к TClientSocket.


 
Rob   (2002-10-30 17:18) [1]

Попробуй после посылки данных запустить таймер. На событии onRead
запоминай ответ сервера в какой-нибудь переменной, которую после посылки данных "обнуляй". По таймеру проверяй ее значение и если оно "отлично от нуля", останавливай таймер и делай что надо.


 
Repeater   (2002-10-30 17:22) [2]

Можно и так. Спасибо. Но сдается мне есть здесь более элегантное стандартное решение. Я просто в сокетах не очень пока. Потому хочу поучиться у более осведомленных нежели я.


 
Rob   (2002-10-30 17:28) [3]

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


 
Repeater   (2002-10-30 17:46) [4]

Но сервер писал не я. Я его не заставлю что то выводить.


 
Malder ©   (2002-10-30 17:46) [5]

Я подконектился к хосту и послал данные. Как теперь программно "подождать" до того времени пока сервер не ответит

Какой-то глупый вопрос. Нисего не делай пока не наступит событие onRead. Вот и все =)


 
Repeater   (2002-10-30 18:03) [6]

Спасибо, что подсказал. Но мне нужно организовать диалог по спец протоколу. Тоесть надо что то определенное послать и ждать пока сервер ответит тоже что то определенное. А как я узнаю в OnRead, что серверу в данном конкретном случае посылать? Можно конечно ввести какой либо индикатор и по нему определять что надо посылать. Но это неудобно. Впрочем я уже вроде разобрался. Надо использовать синхронный режим сокета и TWinSocketStream.



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

Текущий архив: 2002.12.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
3-85843
Bishop
2002-12-07 00:37
2002.12.26
Глюк?


1-85971
WCM
2002-12-15 08:25
2002.12.26
Динамические массивы 2


14-86103
dimich1978
2002-12-05 13:43
2002.12.26
Для тех кто любит интерфейс ХР


4-86222
Morfein
2002-11-11 22:35
2002.12.26
Как расшарить папку?


1-86004
AFrolov
2002-12-15 10:10
2002.12.26
Как зная GUID узнать имя файла где объект с этим GUID находится?