0

好的,请不要对我大喊大叫,因为这可能是一个编程问题。这种情况与一个问题非常相似,因为它过于硬件特定或其他原因而被删除。无论如何,我有一辆布鲁克斯通漫游者。我正在尝试使用我下载的应用程序来控制它。问题是 Android 不支持 Rover 正在广播的那种 ad-hoc 网络。所以...如果用PC的无线网卡连接到Rover,然后通过有线连接到无线路由器,我可以编写一些软件,使计算机充当计算机两个接口之间的“路由器”(有线到路由器和无线到流动站)

我是否必须编写一个有两个套接字的 Java 程序?如果是这样,在 Java 中,您如何选择希望数据包在哪个网络接口上发出?(套接字编程)

4

2 回答 2

0

是的,听起来您会编写一个具有两个套接字的代理程序,一个连接到您的 Rover,另一个连接到您的 Android。这不是网络意义上的“路由器”(您不是直接处理 IP 数据包),而是一个有两个套接字连接到两个不同网络的程序。该程序的工作是读取套接字 A 上的任何内容并将其发送到套接字 B,反之亦然。

您不必“选择”您的数据包在哪个网络接口上发出,因为操作系统会为您执行此操作。但是,您必须连接到正确的 IP 地址,并且操作系统会处理数据包。

于 2012-09-20T21:11:20.970 回答
0

我是那个应用程序的开发者,我的问题是太针对硬件了。Windows 上有软件解决方案,例如 Connectify。我的理想方案是(改编的)路由器上的 DD-WRT 固件。请注意,每个代理都会引入延迟,这对于远程控制机器人来说并不好。

于 2012-09-21T07:40:32.013 回答