![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как задать TimeOut на TcpClient.Connect
skosenok © (2006-10-17 11:23:00)Если устройство подключено в сеть то TcpClient.Connect обрабатывается быстро
Если устройство отключено то TcpClient.Connect ждет очень долго пока выдаст результат
Как ограничить время ожидания когда устройство отключено.
skosenok (2006-10-17 13:45:00) [41]дополнение - обмен данными у меня должен быть синхронным
skosenok (2006-10-17 13:40:00) [42]простой пример - кидаю на форму TcpClient и TcpServer
устанавливаю одинаковые LocalHost и LocalPort
сразу активирую TcpServer
выполняю код:
if TcpClient1.Connect then Application.MessageBox('Есть связь','!') else Application.MessageBox('Нет связи','!')
при TcpClient.bmNonBlocking - нет связи
при TcpClient.bmBlocking - есть связь
TcpClient.OnConnect - соответственно также реагирует.
bmNonBlocking - асинхронная передача
возможно я что-то делаю не так... те мне надо после TcpClient.Connect например заснуть на TimeOut и потом проверить TcpClient.Connected
где я ошибся?
Сергей М. (2006-10-17 13:24:00) [43]Кто такой "включенный устройств" ?
> у меня соединение при bmNonBlocking вообще не устанавливается
Да не ври уже.
Если сервер активен и доступен, то при любомBlockMode соединение должно быть успешно установлено. Об этом факте известит событие OnConnect.
skosenok (2006-10-17 13:16:00) [44]у меня соединение при bmNonBlocking вообще не устанавливается для включенного устройства
какие еще варианты?
Сергей М. (2006-10-17 11:26:00) [45]см. TcpClient.BlockMode = bmNonBlocking.