Сетевое программирование на Java - PullRequest
0 голосов
/ 25 декабря 2010

Я написал простую сетевую программу на Java с использованием сокетов. Программа имеет клиента и сервер.

Когда пользователь вводит слово на стороне клиента, сервер просто возвращает это слово клиенту.

На стороне сервера я использую Serversocket и привязываю его к порту 4444. Почему брандмауэр не блокирует это соединение на моем серверном ПК?

Я задаю этот вопрос, потому что ранее я писал эту программу с использованием технологии corba, и брандмауэр на моем серверном ПК блокировал соединение с этим портом; когда я отключил брандмауэр, программа работала нормально.

Ответы [ 2 ]

2 голосов
/ 25 декабря 2010

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

1 голос
/ 29 декабря 2010

Может быть, ваш брандмауэр не блокирует открытие серверных сокетов, а только соединения с ними? В этом случае вы сможете подключиться к сокету через «localhost», но не по внешнему IP-адресу (что означает IP-адрес в локальной сети, а не тот, что у вашего маршрутизатора).

...