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

Вниз

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

 
Manulo   (2004-02-09 15:20) [0]

Доброго времени суток!
Есть idTCPClient, который пытается подключится к определённому порту удалённой машины. Если порт открыт, то всё проходит нормально, если закрыт, но удалённый компьютер включён, тоже терпимо. Но если удалённый компьютер отключён, программа просто виснет.
В общем вопрос в чём... Как можно ту часть кода, которая отвечает за подключение к порту "запихнуть" в отдельный поток, что бы "подвисание" при подключении не мешало работе остальной программе?


 
Digitman   (2004-02-09 15:38) [1]


> Как можно ту часть кода, которая отвечает за подключение
> к порту "запихнуть" в отдельный поток


а почему бы не только эту часть, а весь транспорт не разместить в доп.потоке ?

или ты в принципе не понимаешь как организовать вычисления в доп.потоках ? это ж разные вещи


 
Manulo   (2004-02-09 15:44) [2]

можно сказать, что непонимаю. Я никогда не работал с дополнительными потоками. Если не трудно, расскажи как сделать


 
Digitman   (2004-02-09 16:03) [3]

TTransportThread = TThread
private
FRemoteHost: String;
FRemotePort: Integer;
FClient: TTCPClient;
...
protected
procedure Execute; override;
public
constructor Create(Host: String; Port: Integer; CreateSuspended: Boolean = false);

end;

constructor TTransportThread.Create(Host: String; Port: Integer; CreateSuspended: Boolean);
begin
FRemoteHost:= Host;
FRemotePort:= Port;
inherited Create(CreateSuspended);
end;

procedure TTransportThread.Execute;
begin
try
FClient := TTCPClient.Create(nil);
try
FClient.Host := FRemoteHost;
FClient.Port := FRemotePort;
FClient.Active := True;
// ... здесь принимаем-передаем все что нужно
finally
FClient.Free;
end;
except
//..лог исключений
end;
end;



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

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

Наверх





Память: 0.44 MB
Время: 0.008 c
1-53563
Ivolg
2004-02-08 14:07
2004.02.17
Мусор


1-53459
Goida
2004-02-06 13:54
2004.02.17
Стоит ли освобождать объекты WordApplication и WordDocument?


9-53351
miek
2003-07-28 10:31
2004.02.17
2D-движок: релиз


9-53349
Comrad
2003-08-07 11:40
2004.02.17
DDraw.dcu


8-53647
Coder1: TCoder;
2003-10-16 23:10
2004.02.17
Рисование без канвы





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