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

Вниз

Как узнать активен ли удаленный сервер?   Найти похожие ветки 

 
Andrewtitoff ©   (2008-03-04 12:59) [0]

Понятно что его нужно спросить об этом, собственно вопрос в том и состоит как это сделать, т.к. если я просто шлю какой либо текст - то соответственно если удаленный сервер слушает - то он мне нормально отвечает, а вот если в ответ тишина - то прога наглухо виснет...

Посылаю текст таким образом :

procedure TMyChat.SendCommand(s:string);
begin
TcpClient1.Active := True;
 try
   if TcpClient1.Connect then
     begin
     TcpClient1.Sendln(s);
     Edit.Clear;
     end;
 finally
   TcpClient1.Disconnect;
 end;
end;


 
Сергей М. ©   (2008-03-04 13:05) [1]


> прога наглухо виснет


Не "наглухо", а на время дифолтного таймаута ожидания.


 
Сергей М. ©   (2008-03-04 13:07) [2]


> TcpClient1.Active := True;


> TcpClient1.Connect


Два раза зупускать коннект - это что, для пущей надежности что ли ?)


 
Andrewtitoff ©   (2008-03-04 13:18) [3]

А сколько это время дифолтного таймаута ожидания уже 5 мин висит... =(((
Можно сделать чего нить на подобии Ping-а тока для используемого мною порта?

Ой, ну да типа того =)))
А есть какя нибудь разница или это равнозначные команды?


 
Reindeer Moss Eater ©   (2008-03-04 13:25) [4]

дефолтный таймаут - инфинити


 
Сергей М. ©   (2008-03-04 13:26) [5]


> уже 5 мин висит


А вот это уже подозрительно.
Не похоже это на "проблему" коннекта к отсутствующему хосту.


> Можно сделать чего нить на подобии Ping-а тока для используемого
> мною порта?


Нет, нельзя.
ping не имеет отношения к портам.


> есть какя нибудь разница или это равнозначные команды?


Концептуальной разницы нет - и там и там инициируется операция коннекта.


 
Сергей М. ©   (2008-03-04 13:39) [6]


> Reindeer Moss Eater ©   (04.03.08 13:25) [4]


Это ж, наверно, от конкретного сокет-провайдера зависит ..


 
Andrewtitoff ©   (2008-03-04 13:40) [7]

2 Reindeer Moss Eater ©
А как его поменять?

2 Сергей М. ©
>Не похоже это на "проблему" коннекта к отсутствующему хосту.
А что это может быть?


 
Сергей М. ©   (2008-03-04 13:47) [8]


> А как его поменять?


А его и не надо менять.

Логику свою надо менять, а не таймаут.

Возьми любой сторонний тестер, к примеру, http://www.networkcenter.info/ и проверь с пом. него доступность того же самого неактивного порта, в который ты стучишь и при этом висишь до второго пришествия. Тестер будет ждать не более полминуты, убедись сам.


 
Andrewtitoff ©   (2008-03-04 13:56) [9]

Ясно, так а в чем тогда может быть проблема?


 
Andrewtitoff ©   (2008-03-04 13:56) [10]

Ясно, так а в чем тогда может быть проблема?


 
Сергей М. ©   (2008-03-04 14:06) [11]


> в чем тогда может быть проблема?


Что ты считаешь "проблемой" ?


 
Andrewtitoff ©   (2008-03-04 14:07) [12]

То что программа виснет наглухо, а не на небольшой таймаут...


 
DiamondShark ©   (2008-03-04 14:14) [13]

Дык, известно в чём проблема: программа неправильно написана.
Ты ещё ни слова не написал о том, как ты принимаешь ответ.


 
Andrewtitoff ©   (2008-03-04 14:26) [14]

2 DiamondShark
Так я же говорю что она виснет когда нет ответа.., когда ответ есть - все в норме...
Меня так же интересует случай когда на удаленном компе она вообще не запущенна, а она как раз и виснет в этом случае....


 
Сергей М. ©   (2008-03-04 14:37) [15]

А какая для юзера разница, наглухо или не наглухо ?
Все равно нервиничать будет и материть разработчика)

Логику надо менять, а не "проблемы" выискивать.
Либо переходи на неблок.режим либо делай коннект в доп.потоке


 
Andrewtitoff ©   (2008-03-04 14:53) [16]

2 Сергей М.

Ну в принципе я не расчитывал на то что это прогой будет пользоваться какой либо пользователь кроме меня, так что нервничать не будет...  =)))

>Либо переходи на неблок.режим
А на что это вообще влияет?, это просто в свойствах клиента и сервера поменять?, я просто с этим не разбирался и поэтому смутно представляю что это и зачем...  =(((

>либо делай коннект в доп.потоке
А енто я тож не знаю как правильно сделать, боюсь ошибок много будет, ты же сам в свое время сказал что мне рано еще с этим разбираться... =)))


 
Reindeer Moss Eater ©   (2008-03-04 15:12) [17]

Ну в принципе я не расчитывал на то что это прогой будет пользоваться какой либо пользователь кроме меня

Сетевой чат с самим собой?
:)


 
Сергей М. ©   (2008-03-04 15:14) [18]


> А на что это вообще влияет?


Как раз на то и влияет - "висеть" не будет твоя программа.


> это просто в свойствах клиента и сервера поменять?


Сервер не трожь - не о нем пока речь.


> смутно представляю что это и зачем


Вот как раз и повод есть разобраться.
Погугли по теме "сокеты блокирующий неблокирующий режим"


 
Reindeer Moss Eater ©   (2008-03-04 15:24) [19]

Возьми TidTCPClient. Там есть и таймаут и ексепшен в случае если целевой хост не слушает.


 
Andrewtitoff ©   (2008-03-04 15:30) [20]

2 Reindeer Moss Eater

А кто тебе вообще сказал что это чат?, можно конечно использовать и ка чат, но меня это функция меньше всего интересует...

2 Сергей М.
Пасибо, тока теперь буквально через пару секунд вываливается с ошибкой "access violation at 0x7c90eddc: write of address 0x00040fbl"....  =(((


 
Reindeer Moss Eater ©   (2008-03-04 15:33) [21]

Мне никто не сказал, я твой код почитал


 
Сергей М. ©   (2008-03-04 15:40) [22]


> Reindeer Moss Eater ©   (04.03.08 15:24) [19]
>
> Возьми TidTCPClient


Если мне не изменяет память, автор некоторое время назад чуть ли не из штанов выпрыгмвал, пытаясь аргументировать выбор им именно TCPClient/Server)


> Andrewtitoff ©   (04.03.08 15:30) [20]



> вываливается с ошибкой


У меня не "вываливается". В чем я провинился ?) Что делаю не так ?)


 
grisme   (2008-03-06 17:19) [23]


> Reindeer Moss Eater ©   (04.03.08 15:33) [21]


палицо %) щас будут отмазки



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

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

Наверх





Память: 0.5 MB
Время: 0.014 c
2-1242918381
Alex_C
2009-05-21 19:06
2009.07.19
Парсинг HTML


15-1242334996
Германн
2009-05-15 01:03
2009.07.19
Registered Jack


2-1243356829
Pauk
2009-05-26 20:53
2009.07.19
типы данных и переменные


15-1242380602
@!!ex
2009-05-15 13:43
2009.07.19
Как получит ьуказатель на уже созданный COM.


2-1243279936
Фима
2009-05-25 23:32
2009.07.19
Распределение потоков





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