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

Вниз

Connect в TClientSocket   Найти похожие ветки 

 
snake1977   (2003-07-29 09:12) [0]

Здравствуйте! Подскажите пожалуйста, я использую TClientSocket и TServerSocket. Вот кусок исходника:

Var ClientConnected:Boolean;

....
ClientConnected:=False;
Client1.Active:=True;
if Client1.Active Then ClientConnected:=True;
....

Проблема в том что условие никогда не выполняется, т.е. выполняется но со временем, т.е. приходится использовать что то типа While not Client1.Active do Application.ProcessMessages;
но тогда происходит зависание, если серверный сокет не активен.

Как проверить что клиент приконнектился к серверу?


 
Digitman   (2003-07-29 09:21) [1]


> но тогда происходит зависание


какое такое "зависание" ?)

"зависание" ты получишь , если


Client1.Active:=False;
Client1.ClientType := ctBlocking;
Client1.Active:=True; // вот здесь и "повиснешь" до тех пор, пока не будет установлен коннект либо в нем тебе будет отказано



 
Verg   (2003-07-29 13:15) [2]


> Как проверить что клиент приконнектился к серверу?


В режиме по умолчанию используется nonBklocking или аснхронный режим работы с TClientSocket. Таким образом, Client1.Active:=True; только инициирует процесс соединения. А результат соединения получаешь обрабаотывая события OnError, OnWrite, OnDisconnect. Только после получения события OnWrite можно считать соединение состоявшимся.



 
Basilio   (2003-07-29 19:11) [3]

Может прокатить такой код:
Client1.Active:=true;
while not Client1.Connected do Application.ProcessMessages;

> клиенту нужно время, чтобы сконнектится


 
Polevi   (2003-07-30 15:17) [4]

Basilio © (29.07.03 19:11)
плохой код



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

Форум: "Сети";
Текущий архив: 2003.09.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.01 c
1-96241
Nikulin
2003-09-17 14:13
2003.09.29
Помогите разобраться и понять в чем я не прав...


1-96228
Mild
2003-09-17 19:16
2003.09.29
Родительские и дочерние классы


3-96106
Vitaliygavrilov
2003-09-09 12:55
2003.09.29
Как правильно сделать поиск


6-96320
Леша
2003-07-29 11:00
2003.09.29
Подскажите как работать из Делфи с Simple MAPI!


6-96336
Лазуточкин Сергей
2003-07-31 12:03
2003.09.29
Кнопки в Internet Explorer





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