Главная страница
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
6-86069
urich
2002-10-29 17:28
2002.12.26
Upload по http использую WinInet


3-85791
Hynter
2002-12-06 05:35
2002.12.26
Help! как узнать количество и название таблиц???


3-85786
бобёр
2002-12-05 16:44
2002.12.26
IB


7-86189
Sirus
2002-10-23 07:58
2002.12.26
Насчет принтера... Как можно узнать???


3-85857
Jasper Hawk
2002-12-07 23:33
2002.12.26
Есть база данных из N-го количество фотографий