Как я могу отличить, если два SocketChannels от одного компьютера? - PullRequest
0 голосов
/ 13 марта 2012

Можно ли сравнить два подключенных канала SocketChannel, чтобы выяснить, находятся ли они на одном компьютере?У меня есть Java-программа, которая должна соответствовать двум соединениям.Сопоставление по IP-адресам недостаточно надежно, поскольку при сравнении IP-адресов невозможно определить, установлены ли соединения с одной и той же машины.

Я искал ответ, но не нашел ни одного.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 13 марта 2012

Если IP-адреса недостаточно надежны (например, из-за NAT или прокси), то вы застряли.

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

0 голосов
/ 13 марта 2012

Используйте getInetAddress (). GetHostName () для сокета и проверьте, является ли он уникальным, а также уникален ли ip-адрес

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