Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
8-86037
AlexSM
2002-09-09 08:40
2002.12.26
Изменение разиеров Bitmap


1-85978
Seldon
2002-12-15 23:46
2002.12.26
Как сохранить ветку реестра?


3-85865
Larisa
2002-12-08 20:03
2002.12.26
Подскажите пожалуйста, как сделать Back up из приложения.


7-86205
vidiv
2002-10-22 07:05
2002.12.26
Thread


1-85933
Дмитрий Е.
2002-12-17 12:41
2002.12.26
Создание окон одного класса в приложении




   Наверх