Тестирование сокетов Java - PullRequest
1 голос
/ 20 июля 2009

Я установил Сервер на моей машине, который прослушивает порт 8888 для входящих соединений. Теперь я хочу быть абсолютно уверенным, что этот порт правильно работает и ждет для входящих соединений. Может ли быть инструмент, который я мог бы использовать для Win XP, который говорит мне если на моей локальной машине есть TCP-порт, ожидающий соединения?

Ответы [ 5 ]

5 голосов
/ 20 июля 2009

используйте команду "netstat.exe -an" из командной строки, чтобы вывести список всех прослушиваемых портов и подключений.

Пример вывода с моей машины:

C:\>netstat.exe -an

Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
  TCP    127.0.0.1:1025         0.0.0.0:0              LISTENING
  TCP    127.0.0.1:1026         127.0.0.1:1027         ESTABLISHED
  TCP    127.0.0.1:1027         127.0.0.1:1026         ESTABLISHED
  TCP    127.0.0.1:1033         127.0.0.1:1034         ESTABLISHED
  TCP    127.0.0.1:1034         127.0.0.1:1033         ESTABLISHED
  TCP    127.0.0.1:2577         127.0.0.1:2578         ESTABLISHED
  TCP    127.0.0.1:2578         127.0.0.1:2577         ESTABLISHED
  TCP    127.0.0.1:2579         127.0.0.1:2580         ESTABLISHED
  TCP    127.0.0.1:2580         127.0.0.1:2579         ESTABLISHED
  TCP    192.168.2.6:3522       192.168.2.2:80         ESTABLISHED
  [...cut for privacy...]

Из вышесказанного видно, что TCP-порт 445, например, открыт и прослушивает входящие соединения.

5 голосов
/ 20 июля 2009

ИМО, и то, что я обычно делаю, проще всего выполнить:

telnet localhost 8888

Если я получаю соединение (пустой экран, просто приглашение), оно работает, в противном случае приложение telnet завершается примерно так:

Connecting To localhost...Could not open connection to the host, on port 8888: C
onnect failed

Чтобы выйти из telnet, нажмите Ctrl ] , а затем введите:

quit Введите

3 голосов
/ 20 июля 2009

Вы можете использовать

netstat -an |find /i "listening"

из командной строки, чтобы увидеть, какие порты открыты и прослушиваются. Вы получите вывод, который выглядит как

TCP   0.0.0.0:8888   0.0.0.0:0   LISTENING

если ваше приложение прослушивает порт 8888. Запустите команду перед вашим приложением, чтобы убедиться, что порт еще не используется (или просто запустите ваше приложение и посмотрите трассировку стека;)).

1 голос
/ 21 июля 2009

Приложение telnet - неплохая идея. Также, если ваша программа выталкивает несколько символов из порта при запуске (я забыл, я думаю, что это 3 байта), вы можете отображать сообщения о сеансе telnet / взаимодействовать с ним.

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

0 голосов
/ 20 июля 2009

Вы можете пропинговать свой сервис как Telnet. Или после Telnet используйте команду get, чтобы найти ответ службы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...