1

我需要一个带有简单 API 的库。定义简单:对我来说完美的解决方案就像这里描述的那样,但被添加到 Java 中的跨平台使用(对我来说,跨平台是 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 免费计划分布式(类似云)文件服务器,该服务器通常基于我的应用程序用户计算机......所以说他们使用我的应用程序,他们托管它=)

4

2 回答 2

1

我环顾四周,发现最有前途的库是miniupnp。有关如何执行此操作的官方规范称为UPnP IGD,阅读起来非常复杂且令人讨厌。

从 Java 中应该可以做到这一点,您需要网络功能,以及在特殊端口上发送和接收 UDP 数据包的足够权限。我做了一个在我的局域网上工作的Python 移植尝试,你可以移植它(它是 miniupnp 的简化)。如果你还没有花时间学习 Python,我强烈推荐它。

于 2010-10-11T13:23:25.973 回答
1

我建议您看一下“使用 Java RMI 打孔,它可能会有所帮助。

于 2010-10-11T13:23:57.157 回答