如何在java中的笔记本电脑之间创建一个adhoc网络?

时间:2010-12-31 06:37:26

标签: java sockets networking adhoc

如果他们将使用无线通信进行通信,我想在labtop之间创建一个adhoc。我将使用java,但我仍然不知道如何开始.. 我想我必须使用套接字进行连接吗?笔记本电脑将如何通过本地网络或其他方式注意到其他笔记本电脑?我需要一台服务器来处理笔记本电脑之间的通信吗?另一件事,如何从一台笔记本电脑向网络中的其他笔记本电脑广播消息?请尽快回复。任何帮助将不胜感激。提前谢谢。

4 个答案:

答案 0 :(得分:1)

通常,更改网络设置既是特权任务,也是特定于系统的任务,因此通常不应该允许或允许Java应用程序执行此任务。

这并不是说这一定不可能。例如,如果您可以从命令行了解如何创建和/或加入网络,则可以在JVM允许的情况下发出这些命令,并且您可以以某种方式保护必要的权限。在linux机器上,这可能是iwconfig和/或ifconfig用法的某种组合 - 但通常需要root。

你有一个网络,然后你可以处理它上面的套接字类型流量 - 一个java在家里更多的领域,一个通常可能没有特殊权限的领域,至少就操作系统而言

答案 1 :(得分:1)

你能重申这个问题:

  • 是否要为“硬件”创建适当的低级别设置以设置ad-hoc WLAN

这就是上面的答案试图处理......

  • 您已经在WLAN中验证了两个应该能够相互检测服务的设备(按照UPnP的设计方式)?

在这种情况下,您可以使用其他一些工具。您首先使用像Zeroconf(Bonjour,在开源中作为jmDNS提供)这样的东西来宣传服务。另一方可以再次使用jmDNS查找服务。这可以使用UDP。

一旦找到,您就可以像往常一样建立直接的IP通信。

要广播您必须在UDP级别编程套接字的信息。如果您不想了解最详细的内容,还有一些框架(Apache MINA)。

答案 2 :(得分:1)

如果你必须使用java,我建议你去看看JANE,Java Ad Hoc网络开发环境。

祝你好运。

答案 3 :(得分:0)

这是学术性的吗?如果是这样,请先尝试使用模拟器。有很多好的模拟器可以免费使用(例如,NS2,glomosim)。这是一个开始概念验证的好地方。这些模拟器具有良好的移动通信协议(包括移动adhoc设置)。您不必处理细节问题,而是更多地关注您的应用程序。