Максимально простая кроссплатформенная библиотека дырокола для Java UPNP - PullRequest
1 голос
/ 11 октября 2010

Мне нужна библиотека с простым API.Определение простое: идеальное решение для меня было бы примерно таким, как описано здесь , но добавлено для кроссплатформенного использования в Java (для меня кроссплатформенность - это отдельное приложение desctop для Win, Mac, Lin) ... Так как APIнравится видеть выглядит?Как у меня в C #:

using TCMPortMapper;

private void Form1_Load()
{
  PortMapper.SharedInstance.Start();
  PortMapping pm = new PortMapping(localPort, publicPort, 
         PortMappingTransportProtocol.TCP);
  PortMapper.SharedInstance.AddPortMapping(pm);
}
private void Form1_FormClosing()
{
  PortMapper.SharedInstance.StopBlocking();
}

Что я собираюсь с этим делать?Я хочу создать простой в использовании бесплатный распределенный (облачный) файловый сервер Google App Engine, который будет в целом основан на компьютерах пользователей моего приложения ... так сказать, они используют мое приложение, они его размещают =)

Ответы [ 2 ]

1 голос
/ 11 октября 2010

Я рекомендую вам взглянуть на "Пробивание отверстий с Java RMI , это может быть полезно.

1 голос
/ 11 октября 2010

Я оглянулся, и самая многообещающая библиотека, которую я нашел, была miniupnp .Официальные спецификации о том, как это сделать, называются UPnP IGD , и это мучительно сложно и неприятно читать.

Это должно быть возможно из Java, вам необходимы сетевые возможности и достаточные привилегии для отправки и получения UDP-пакетов на специальных портах .Я предпринял попытку переноса Python , которая работала в моей локальной сети, вы могли бы это портировать (это упрощение miniupnp).Если вы не потратили время на изучение Python , я настоятельно рекомендую его.

...