общаться с компьютером, который не находится в той же сети - PullRequest
0 голосов
/ 02 января 2012


Я хочу общаться между двумя компьютерами, которые не находятся в одной сети, я пытался использовать сокеты, но я нашел только учебные пособия и примеры для общения в одной сети.
Я пытался выполнить поиск по stackoverflow, но у меня не было четкого представления о том, что искать.
Я хочу отправить текст в двух направлениях (чат).

-edit- Дело в том, что мне непонятно, что я должен использовать или сделать, поэтому я не могу быть более ясным, чем сказать, что хочу отправить двусторонний текст (возможно, дату) для chatapp, просто учиться у. -edit-

Ответы [ 2 ]

1 голос
/ 02 января 2012

Для связи между двумя машинами они должны находиться в одной расширенной сети. Единственным другим вариантом является сохранение данных на внешние диски, например, USB-накопители, и вы можете подключить ко второй машине и до загрузки.

Вы можете использовать сокеты для связи с любым другим компьютером, имеющим подключение к Интернету, при условии, что ваш брандмауэр (-ы) настроен для разрешения подключения. Весь смысл брандмауэра заключается в предотвращении несанкционированного доступа. Я подозреваю, что это ваша настоящая проблема. Если ваши брандмауэры препятствуют доступу, вы не сможете обойти это, используя Java (взлом альтернатив Google Network;)

Другим вариантом является использование службы, такой как электронная почта, если два компьютера не могут общаться друг с другом напрямую (они все равно должны быть подключены к одной сети). Это гораздо сложнее, чем использование прямого соединения, но это можно сделать. .

Я предлагаю вместо этого правильно настроить брандмауэр (ы), и вы сможете использовать простые сокеты.

0 голосов
/ 02 января 2012

Вы должны получить внешние IP-адреса (есть сайты, которые при посещении дают вам этот IP-адрес) и надеяться, что брандмауэр разрешает связь. Как правило, следует использовать порт выше 1000. Должны быть одноранговые библиотеки.

Другой способ - использовать SSH на одном компьютере (JSch - это одна библиотека Java для SSH).

Самый простой способ - это обмен электронной почтой: API javax.mail компактен, но не самый простой. (Особенно вы можете легко удалить все письма, как я делал однажды.)

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