Домой Учебники по Java и J2EE В Java, как проверить, если Socket активен, соединение активно на конкретном порту?...

В Java, как проверить, если Socket активен, соединение активно на конкретном порту? Утилита isSocketAlive ()

1265
0

Это очень простая бесплатная утилита Java, которая сообщает вам, можете ли вы установить сокет- соединение с различными хостами на определенных портах. Не стесняйтесь использовать его в производственной среде .

На яве InetSocketAddress создает адрес сокета из hostname и port number , Мы называем это как сокет сервера в Java. Библиотека сокетов с Non blocking IO а также Simple IO это очень большая тема .

В этом уроке мы рассмотрим простую утилиту, которую мы называем isSocketAlive(String hostname, int port) который возвращается boolean результат — правда / ложь.

Давайте начнем:

Шаг 1

Создать класс CrunchifyIsSocketAliveUtility .Джава

Шаг 2

Создать утилиту isSocketAliveUitlitybyCrunchify (имя хоста, порт), который возвращает истину / ложь

Шаг 3

В основном методе мы сделаем 5 tests

  1. Запустите Apache Tomcat Server в Eclipse IDE и попробуйте подключиться к localhost в порту 8080
  2. Теперь подключитесь к порту 8081 который будет сценарий сбоя
  3. Мы также будем подключаться к сайту crunchify.com в порту 80 , Поскольку Crunchify.com работает на сервере Apache, по умолчанию используется порт 80.
  4. Мы будем подключаться к сайту crunchify.me в порту 80 -> Успех
  5. Подключиться к сайту crunchify.me and 81 -> Это будет провал

Укажите время ожидания по умолчанию до 2 секунд.

socket.connect (socketAddress, timeout) c подключает сокет к серверу с указанным timeout значение. Тайм-аут zero интерпретируется как infinite timeout , Соединение будет блокироваться до тех пор, пока не будет установлено или не возникнет ошибка.

Мы ловим SocketTimeException а также IOException в случае ошибки.

Эта Java-программа поможет вам, если у вас есть следующие вопросы:

  • Учебник по программированию сокетов Java
  • Написание серверной части сокета
  • Программирование сокетов на Java
  • Пример подключения к сокету Java
  • Java клиент / серверное приложение с сокетами
  • пример java serversocket
  • Пример java.net.socket
  • Пример подключения к сокету

Полная программа Java:

CrunchifyIsSocketAliveUtility.java

Джава
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
пакет crunchify. ком . учебные пособия ;
Импортировать Java. Ио. IOException ;
Импортировать Java. нетто. InetSocketAddress ;
Импортировать Java. нетто. Гнездо ;
Импортировать Java. нетто. SocketAddress ;
Импортировать Java. нетто. SocketTimeoutException ;
/ **
* @author Crunchify.com
*
* /
общественности учебный класс CrunchifyIsSocketAliveUtility {
общественности статический недействительным main ( Строка [ ] аргументы ) {
// Запускаем сервер Apache Tomcat на порт 8080 в Eclipse, чтобы увидеть успех
// результат
log ( isSocketAliveUitlitybyCrunchify ( localhost , 8080 ) ) ;
// Теперь измените порт на 8081, и вы должны увидеть сбой
log ( isSocketAliveUitlitybyCrunchify ( localhost , 8081 ) ) ;
// Подключение к Crunchify.com через порт 80
log ( isSocketAliveUitlitybyCrunchify ( crunchify.com , 80 ) ) ;
// Подключение к crunchify.me через порт 81
log ( isSocketAliveUitlitybyCrunchify ( crunchify.me , 81 ) ) ;
// Подключение к crunchify.me через порт 80
log ( isSocketAliveUitlitybyCrunchify ( crunchify.me , 80 ) ) ;
}
/ **
* Утилита Crunchify isAlive
*
* @param hostName
* @param port
* @return boolean — true / false
* /
общественности статический логический isSocketAliveUitlitybyCrunchify ( String hostName , ИНТ порт ) {
логический является живым знак равно ложь ;
// Создает адрес сокета из имени хоста и номера порта
SocketAddress socketAddress знак равно новый InetSocketAddress ( hostName , порт ) ;
Гнездо гнездо знак равно новый Гнездо ( ) ;
// Требуется тайм-аут — в миллисекундах
ИНТ Таймаут знак равно 2000 ;
log ( hostName: + Hostname + , порт: + порт ) ;
пытаться {
сокет . подключиться ( socketAddress , тайм-аут ) ;
сокет . закрыть ( ) ;
является живым знак равно правда ;
} ловить ( Исключение SocketTimeoutException ) {
Система. вне. println ( «SocketTimeoutException» + Hostname + : + порт + . + исключение. getMessage ( ) ) ;
} ловить ( Исключение IOException ) {
Система. вне. println (
«IOException — Невозможно подключиться к» + Hostname + : + порт + . + исключение. getMessage ( ) ) ;
}
вернуть isAlive ;
}
// Простая утилита журнала
частный статический недействительным log ( Строка строка ) {
Система. вне. println ( строка ) ;
}
// Простая утилита журнала возвращает логический результат
частный статический недействительным log ( логическое значение isAlive ) {
Система. вне. println ( isAlive result: + является живым + / n ) ;
}
}

Выход:

CrunchifyIsSocketAliveUtility Result

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
hostName : местный хост , порт : 8080
Результат isAlive : правда
hostName : местный хост , порт : 8081
IOException Невозможно подключиться к localhost : 8081. Соединение отказано
Результат isAlive : ложный
hostName : crunchify. ком , порт : 80
Результат isAlive : правда
hostName : crunchify. я , порт : 81
SocketTimeoutException crunchify . я : 81. тайм- аут подключения
Результат isAlive : ложный
hostName : crunchify. я , порт : 80
Результат isAlive : правда
В Java, как проверить, если Socket активен, соединение активно на конкретном порту? Утилита isSocketAlive ()

0.00 (0%) 0 votes

ЧИТАТЬ ТАКЖЕ:  Как создать .zip или .tar программно на Java с использованием архиваторов и компрессоров Apache Commons

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь