可能な限りシンプルなクロスプラットフォームJava UPNPホールパンチライブラリ

StackOverflow https://stackoverflow.com/questions/3906516

質問

簡単なAPIを備えたライブラリが必要です。シンプルの定義:私にとって完璧な解決策は説明されているようなものです ここ しかし、JavaでのCrossPlatformの使用のためにアドップしました(私にとってはCrossPlatformは、Win、Mac、Linのスタンドアロンデストップアプリです)...それで、私がどのように見たいかをどのように見たいですか? oneiが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 App Engine Free Planの使用(クラウドのような)ファイルサーバーで簡単に使用したいと思います。アプリユーザーコンピューターに基づいて一般的なファイルサーバーがあります。

役に立ちましたか?

解決

ご覧ください 「Java RMIで穴を開ける, 、それは役に立つかもしれません。

他のヒント

私は周りを見回し、私が見つけた最も有望な図書館は miniupnp. 。これを行う方法に関する公式の仕様は呼ばれます UPNP IGD, 、そして、それは痛々しいほど複雑で、読むのが厄介です。

Javaからこれを行うことができるはずです。ネットワーク機能と、送信および受信するのに十分な特権が必要です 特別なポートのUDPパケット. 。私が作りました Pythonポーティングの試み それは私のLANで働いていました、あなたはそれを移植するかもしれません(それはminiupnpの単純化です)。時間をかけていない場合 Pythonを学びます, 、私はそれを強くお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top