2013-03-17 3 views
0

Я хотел бы использовать сервер между двумя машинами (без статического IP). Единственным известным мне IP-адресом является IP-адрес сервера. Я хотел бы создать/использовать систему, которая слушает 2 разных порта на сервере и все, что получено от localhost: portA отправляется на localhost: portB и наоборот. Следовательно, обе машины (с java-приложениями) могут взаимодействовать через сервер посередине.лучший способ переадресация/туннелирование порта

Пожалуйста, каково наилучшее решение для этого. Я работаю над linux-системой, и я подумал о том, чтобы использовать Java-API SSH (hudson/ganymed-ssh-2) для создания приложения для перенаправления портов.

Некоторая проблема: 1) определение размера данных, передаваемых в буфер, считанных или не пересылаемых на другой порт. 2) Скорость чтения/записи байтов.

+0

Вы уже что-то пробовали? Таким образом, вы можете увидеть, действительно ли проблемы 1 и 2 теперь требуют внимания. Думаю, там вы получите гораздо более важные соображения во время реализации. – emecas

ответ

0

Если вы можете использовать протокол ssh, вы можете туннелировать локальные или удаленные порты (эта поддержка необходима на стороне сервера). Вы также можете подумать о OpenSSH VPN (посмотрите на опцию ssh -w, это создаст реальную VPN (требуется устройство TUN/TAP).).

0

Вы можете использовать программу ssh. Посмотрите на опции -L и -R.

+0

знает ли он сокет после того, как каждая машина подключится к серверу? – user2179347

+0

@ user2179347 Я не понимаю ваш комментарий, и я подозреваю, что никто другой не делает этого. Что это"? Когда вы говорите «сокет», какой сокет вы имеете в виду? – dave4420

 Смежные вопросы

  • Нет связанных вопросов^_^