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

Вниз

Таймаут у ClientSocket.   Найти похожие ветки 

 
yaJohn ©   (2002-03-22 17:12) [0]

У меня есть ClientSocket. Пытаюсь установить связь с сервером. Где и как я могу получить/установить время таймаута? Или надо вручную, по таймеру? Тогда как корректно сказать еще не соединившемуся сокету, что соединение более не требуется?
Аналогичный вопрос - при передаче данных. Т.е. "если данных не было 3 сек то рвем соединение".

Заранее спасибо!


 
Digitman ©   (2002-03-22 17:39) [1]

Время тайм-аута коннекта, к сожалению - никак. Время тайм-аута i/o-операций клиентского гнезда, в принципе, можно изменить, получив после успешного коннекта значение хэндла созданного кл.гнезда и прямо обратившись к опциям гнезда через WinsockAPI.

см. setsockopt()


 
yaJohn ©   (2002-03-22 17:47) [2]

>Время тайм-аута коннекта, к сожалению - никак
Неутешительно... Это прихоть дельфи или операционки? Может сырцы ВЦЛ подрихтовать? %)
И позволю себе позанудствовать... Как закрыть неоткрытый сокет. Т.е. после Active:=true, но до OnConnect или OnError.
Active:=false - это коректно?


 
Digitman ©   (2002-03-22 17:58) [3]

>yaJohn

Это прихоть разработчиков VCL-класса TClientSocket, которые физически создают гнездо именно в контексте метода TClientSocket.Open (или Active:= True, без разницы). А до того, как гнездо создано, устанавливать его опции на уровне WinsockAPi- это нонсенс. Т.е., не изменив реализации класса TClientSocket, изменить ситуацию невозможно.

Насчет
>>Active:=true, но до OnConnect или OnError.
>>Active:=false - это коректно?
думаю, что - да. Хотя здесь есть некоторые "подводные" камни.





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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
1-6986
Крутой ниндзя
2002-05-21 14:09
2002.06.03
Как определить, какие *.bpl взять с собой?


1-6987
Kopachev
2002-05-22 21:51
2002.06.03
В чем я не прав


14-7171
Pat
2002-04-23 12:53
2002.06.03
Виснут игрушки :-(((


14-7210
vopros
2002-04-26 15:44
2002.06.03
Взялся за работу называется.


14-7181
PaRL
2002-04-23 18:28
2002.06.03
Ещё одна простенькая задачка для всех.