Сокет подключения к моему ip, а не 127.0.0.1 - PullRequest
1 голос
/ 29 июня 2011

Ну, я новичок в программировании сокетов в Java.Я попытался реализовать простую сокетную программу для отправки сообщения с 127.0.0.1:4242 в качестве локального хоста.Но я хочу отправить сообщение на конкретный IP.Как я могу этого достичь?Можно ли будет отправить сообщение на мой собственный IP как клиент-сервер, работающий одновременно?

Ответы [ 2 ]

1 голос
/ 29 июня 2011

Конечная точка в сокетной связи является конечной точкой. Все, что вы можете сделать с помощью 127.0.0.1, можно сделать с помощью IP-адреса этих машин. Подробнее см. здесь .

0 голосов
/ 29 июня 2011

Каждая IP-датаграмма имеет адрес источника и адрес назначения в заголовке IP, а также номер транспортного протокола, который для большей части интернет-трафика является TCP или UDP.Затем в заголовке этого транспортного протокола перечислены номера портов источника и назначения .

Итак, у вас есть это - отправка, или, лучше сказать, «клиент», приложение получает назначенный адрес источника и порт, обычноавтоматически - адрес определяется локальной таблицей маршрутизации, номер порта назначается вне диапазона эфемерных портов , в то время как «серверное» приложение прослушивает на хорошо известном порте привязанныйна адрес на определенной машине.Этого кортежа (source IP, source port, destination IP, destination port) достаточно для передачи дейтаграммы отсюда туда.

127.0.0.1, и фактически все адреса в диапазоне 127/8 зарезервированы для loopback виртуальный локальный интерфейс, т. е. это способ сказать «независимо от того, какой у меня реальный адрес, или даже если у меня его нет, подключитесь к этой машине, на которой я сейчас нахожусь».

Ознакомьтесь с набором протоколов TCP / IP - это довольно простая концепция (с кучей интересных деталей, конечно).

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