![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
открыт ли порт? [D6, WinXP]
Артем © (2009-04-24 21:51:00)Добрый вечер!
Проблема следующая: нужно определить, запущен ли сервер приложения. Как проверить, открыт на сервере порт или нет?
Использую TClientSocket. По Open вылетает исключение.
Германн (2011-01-22 01:37:00) [1]
> Anatoly Podgoretsky © (22.01.11 00:25) [24]
>
> > Германн (21.01.2011 23:45:22) [22]
>
> Не виновая я, он сам пришел.
Твой клиент плохо показывает даты сообщений или ты сам на них не обращаешь внимания?
Первое требует доработки. Добавь это в todo-list.
Второе ничего не требует. Мы и так тебя нормально воспринимаем.
:)
Anatoly Podgoretsky (2011-01-22 00:25:00) [2]> Германн (21.01.2011 23:45:22) [22]
Не виновая я, он сам пришел.
Anatoly Podgoretsky (2011-01-21 23:51:00) [3]Я настучу, это Tonick2001 виноват, он трупа полюбил.
Германн (2011-01-21 23:45:00) [4]
> Anatoly Podgoretsky © (21.01.11 21:45) [20]
>
> > Артем (24.04.2009 22:10:09) [9]
>
> Думай еще.
Почти 2 года уже думает. Считаешь мало?
Игорь Шевченко (2011-01-21 23:42:00) [5]Anatoly Podgoretsky © (21.01.11 21:42) [17]
Некрофил
Anatoly Podgoretsky (2011-01-21 21:45:00) [6]> Артем (24.04.2009 22:10:09) [9]
Думай еще.
Anatoly Podgoretsky (2011-01-21 21:44:00) [7]> Сергей М. (24.04.2009 22:05:07) [7]
Вообще то запущен, но автор персона нон грата.
Anatoly Podgoretsky (2011-01-21 21:43:00) [8]> Артем (24.04.2009 22:02:05) [5]
Тогда порт открыт.
Anatoly Podgoretsky (2011-01-21 21:42:00) [9]> Артем (24.04.2009 21:51:00) [0]
Это такое сообщение "Вылетаю, встречайте завтра"
Tonick2001 (2011-01-21 19:23:00) [10]Можно подробнее ErrorCode:=0 это что? от куда брать эту переменную?
Артем (2009-04-25 11:18:00) [11]Огромное спасибо, помогло....
kami (2009-04-25 01:25:00) [12]> [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 01:02:00) [13]сообщение выскакивает с кодом ошибки.
try
except как-то не помогает...
Сергей М. (2009-04-24 22:40:00) [14]А ты его, исключение-то это, как "поймал" ?
Артем (2009-04-24 22:17:00) [15]А как обработать это исключение, чтобы клиент время от времени проверял, готов ли сервер, а по готовности делал, что ему нужно?
Сергей М. (2009-04-24 22:14:00) [16]
> Артем (24.04.09 22:10) [9]
Вот и триждыподумай, прежде чем "выражаться")
> это и есть сервер, который стартовал.
И ?
ESocketError - это класс исключения, не более того.
О состоянии "стартованности" сервера КЛАССне может сказать НИЧЕГО
Артем (2009-04-24 22:10:00) [17]...не правильно выразился (опять).
другое приложение - это и есть сервер, который стартовал.
Сергей М. (2009-04-24 22:07:00) [18]
> нужно чтобы клиент это увидел и передал другому приложению
> информацию. вотъ
Понял.
Картина маслом:
- Пацаны ! В чипок водку завезли ! Беги быстрей, а то кончится !
))
Сергей М. (2009-04-24 22:05:00) [19]
> сервер не запущен. Он действительно не запущен
> нужно проверять, запущен ли
ты с головой вообще дружишь ?
Тебе же это самое "что-то вроде" дает понять - НЕ "запущен" !
Что еще проверять-то ? Уже ведь получил отлуп)..
Артем (2009-04-24 22:04:00) [20]объясню подробнее.
имеются 2 программы.
клиент запущен постоянно.
когда стартует сервер, нужно чтобы клиент это увидел и передал другому приложению информацию. вотъ.