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

Вниз

Таймаут у 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.009 c
1-6962
Dennn_is
2002-05-21 16:40
2002.06.03
Мастерам


14-7196
IronHawk
2002-04-26 13:11
2002.06.03
Админам посвящаеться :-))))


3-6935
_dron_
2002-05-11 12:43
2002.06.03
Как настроить, чтобы на боковой клавиатуре была


14-7220
VEG
2002-04-28 20:29
2002.06.03
Где ошибка в закрузке анимированного курсора?


7-7239
Prof!
2002-03-10 14:09
2002.06.03
ScreenSaver!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский