Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.04.24;
Скачать: CL | DM;

Вниз

открыт ли порт?   Найти похожие ветки 

 
Артем   (2009-04-24 21:51) [0]

Добрый вечер!
Проблема следующая: нужно определить, запущен ли сервер приложения. Как проверить, открыт на сервере порт или нет?
Использую TClientSocket. По Open вылетает исключение.


 
Сергей М. ©   (2009-04-24 21:56) [1]

Каким рейсом ?


 
Артем   (2009-04-24 21:57) [2]

ESocketError)))


 
Сергей М. ©   (2009-04-24 21:58) [3]

Оч содержательная информация о рейсе..


 
Сергей М. ©   (2009-04-24 22:01) [4]


> Как проверить, открыт на сервере порт


Ну и за каким лешим знать, что скрывается за этим портом - сервер приложений, или сервер отложений, или сервер заложений, или .. ?)

Кому это интересно, подумай ?)


 
Артем   (2009-04-24 22:02) [5]

...извините...
иключение что-то вроде "удаленный компьютер отверг соединение" из-за того, что сервер не запущен. Он действительно не запущен.
А нужно проверять, запущен ли, а если запущен - подключаться.


 
Артем   (2009-04-24 22:04) [6]

объясню подробнее.
имеются 2 программы.
клиент запущен постоянно.
когда стартует сервер, нужно чтобы клиент это увидел и передал другому приложению информацию. вотъ.


 
Сергей М. ©   (2009-04-24 22:05) [7]


> сервер не запущен. Он действительно не запущен


> нужно проверять, запущен ли


ты с головой вообще дружишь ?

Тебе же это самое "что-то вроде" дает понять - НЕ "запущен" !

Что еще проверять-то ? Уже ведь получил отлуп)..


 
Сергей М. ©   (2009-04-24 22:07) [8]


> нужно чтобы клиент это увидел и передал другому приложению
> информацию. вотъ


Понял.

Картина маслом:

- Пацаны ! В чипок водку завезли ! Беги быстрей, а то кончится !

))


 
Артем   (2009-04-24 22:10) [9]

...не правильно выразился (опять).
другое приложение - это и есть сервер, который стартовал.


 
Сергей М. ©   (2009-04-24 22:14) [10]


> Артем   (24.04.09 22:10) [9]


Вот и трижды подумай, прежде чем "выражаться")


> это и есть сервер, который стартовал.


И ?

ESocketError - это класс исключения, не более того.
О состоянии "стартованности" сервера КЛАСС не может сказать НИЧЕГО


 
Артем   (2009-04-24 22:17) [11]

А как обработать это исключение, чтобы клиент время от времени проверял, готов ли сервер, а по готовности делал, что ему нужно?


 
Сергей М. ©   (2009-04-24 22:40) [12]

А ты его, исключение-то это, как "поймал" ?


 
Артем   (2009-04-25 01:02) [13]

сообщение выскакивает с кодом ошибки.
try
except как-то не помогает...


 
kami ©   (2009-04-25 01:25) [14]

> [13] Артем   (25.04.09 01:02)
> try
> except как-то не помогает

Они и не помогут в ctNonBlocking (с Blocking не работал, не знаю).

> сообщение выскакивает с кодом ошибки

Следующий закономерный вопрос будет: "Код ошибки значения, конечно, не имеет?"
Есть такое событие у TClientSocket - OnError. В нем можно (и нужно) узнавать и обрабатывать код возникшей ошибки. Полезно так же нажать F1 и почитать, что же это событие из себя представляет.
Как говорил Сергей М. © в какой-то ветке (ссылку не дам, давно было), минимальный код обработки ошибки должен состоять из:
ErrorCode:=0; // это если нужно не пускать ошибку "выше", а вот разобраться, что за ошибка нужно ДО этого.
Socket.Close


Что за ошибка возникла, и как после нее жить, можно узнать на http://msdn.microsoft.com/en-us/library/ms740668.aspx


 
Артем   (2009-04-25 11:18) [15]

Огромное спасибо, помогло....


 
Tonick2001 ©   (2011-01-21 19:23) [16]

Можно подробнее ErrorCode:=0 это что? от куда брать эту переменную?


 
Anatoly Podgoretsky ©   (2011-01-21 21:42) [17]

> Артем  (24.04.2009 21:51:00)  [0]

Это такое сообщение "Вылетаю, встречайте завтра"


 
Anatoly Podgoretsky ©   (2011-01-21 21:43) [18]

> Артем  (24.04.2009 22:02:05)  [5]

Тогда порт открыт.


 
Anatoly Podgoretsky ©   (2011-01-21 21:44) [19]

> Сергей М.  (24.04.2009 22:05:07)  [7]

Вообще то запущен, но автор персона нон грата.


 
Anatoly Podgoretsky ©   (2011-01-21 21:45) [20]

> Артем  (24.04.2009 22:10:09)  [9]

Думай еще.


 
Игорь Шевченко ©   (2011-01-21 23:42) [21]

Anatoly Podgoretsky ©   (21.01.11 21:42) [17]

Некрофил


 
Германн ©   (2011-01-21 23:45) [22]


> Anatoly Podgoretsky ©   (21.01.11 21:45) [20]
>
> > Артем  (24.04.2009 22:10:09)  [9]
>


> Думай еще.

Почти 2 года уже думает. Считаешь мало?


 
Anatoly Podgoretsky ©   (2011-01-21 23:51) [23]

Я настучу, это Tonick2001 виноват, он трупа полюбил.


 
Anatoly Podgoretsky ©   (2011-01-22 00:25) [24]

> Германн  (21.01.2011 23:45:22)  [22]

Не виновая я, он сам пришел.


 
Германн ©   (2011-01-22 01:37) [25]


> Anatoly Podgoretsky ©   (22.01.11 00:25) [24]
>
> > Германн  (21.01.2011 23:45:22)  [22]
>
> Не виновая я, он сам пришел.

Твой клиент плохо показывает даты сообщений или ты сам на них не обращаешь внимания?
Первое требует доработки. Добавь это в todo-list.
Второе ничего не требует. Мы и так тебя нормально воспринимаем.
:)



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

Текущий архив: 2011.04.24;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.012 c
2-1295522746
cyber-pilot
2011-01-20 14:25
2011.04.24
Вопрос про работу эксепшенов


3-1256924418
Незнайка
2009-10-30 20:40
2011.04.24
Работа с MSSQL


15-1293701642
12
2010-12-30 12:34
2011.04.24
Произношение комплексного числа. По каким буквам "ударять"?


3-1257170221
mom
2009-11-02 16:57
2011.04.24
Ehlib 4.0 порядок следования столбцов


15-1294645762
12
2011-01-10 10:49
2011.04.24
Еще раз о тервере