我必须在Android中为我的大学设计一个用于WiFi语音通信的应用程序。我们大学的基础设施包括互连的局域网(不同宿舍和教室的多个路由器之间的互连)以及一些无线接入点(都具有有线互连)。大学局域网的速度约为100Mbps。我需要我的应用程序做的是通过广播在校园内的各种设备中运行的应用程序的其他实例(所有设备上将安装相同的Android应用程序),在同一子网(路由器)内以及连接到其他路由器的设备在校园内。最终目标是,如果笔记本电脑连接到大学网络(可能不共享同一个子网),也可以使连接手机的最终用户能够将笔记本电脑连接到笔记本电脑,以便能够相互通信。但是,即使这是不可能的,至少两个驻留在两个不同子网上的设备必须能够相互发现。此后,可以从一个设备到另一个设备进行语音呼叫。发现的想法是通过广播消息。没有中央服务器。我是网络编程和android编程的新手(虽然我有核心java的先验知识)。请帮助我在大学网络中为初始设备发现阶段广播消息的过程,并建议我需要学习的任何协议以及从语音到数据转换的任何编解码器。关于设计和实施的任何其他帮助也将受到感谢。请尽快回复。
答案 0 :(得分:0)
广播不跨越子网。例如,在C类网络上ping 255.255.255.255
与ping A.B.C.255
相同,其中A.B.C是您IP地址的前3个八位字节。
既然你提到了
通过我的大学网络广播消息
我相信你想要到达你自己子网之外的目的地。您可以通过使用DHCP来实现,DHCP将使用路由器作为中继代理将广播转发到不同的子网。但是,我宁愿将Multicast
用作前面提到的eee
。