我希望对等方能够通过WIFI LAN发送DatagramPackets,其唯一目的是发现其他对等方。因此,我每个对等体都由一个客户端(发送数据包)和一个服务器(侦听数据包)组成。
我只能通过在每台计算机上使用IPConfig来获取其各自的IPv4地址,然后将其用作创建DatagramPacket的参数,来使其工作:-
InetAddress server = InetAddress.getByName("THE IPv4 ADDRESS OF THE PEER'S SERVER
RUNNING ON THE OTHER MACHINE");
DatagramPacket sendPacket = new DatagramPacket(outBuffer, outBuffer.length,
server, serverPort);
我是否在这里以正确的方式使用了广播(用于对等发现),因为如果我这样做,这对我来说似乎很垃圾?我当时以为我可以在machineA上拥有一个客户端,将数据包发射到LAN深渊中,而在machineB上运行的服务器将侦听整个LAN并检测到该数据包。目前,我所要做的只是在运行服务器的计算机上手动使用IPConfig并在运行客户端的计算机上的DatagramPacket中键入该地址,这似乎毫无意义。
我可以很好地使用多播,但我认为广播是我发现对等体所需要的。
帮助表示赞赏。
最佳答案
将广播地址255.255.255.255
用于服务器和客户端。