我在闲暇时间写一个基于网络的小游戏,我需要一个服务器浏览器。我希望使用Datagramsocket进行多播。
代码运行顺畅,没有任何运行时或编译错误,但是发送了包。我试着用WireShark嗅它。这是我的发送方法的代码:
public void sendRequest() throws UnknownHostException, InterruptedException{
InetAddress adr = InetAddress.getByName(this.address); //Address = 239.0.0.4
try(DatagramSocket serverSocket = new DatagramSocket()){
for(int i = 0; i<10; i++){
String msg = "request";
DatagramPacket msgPacket = new DatagramPacket(
msg.getBytes(),
msg.getBytes().length,
adr,
this.port); //this.port == 8888
serverSocket.send(msgPacket);
Thread.sleep(150);
}
serverSocket.close();
}
catch(IOException ex){
System.err.println("Error while trying to create DatagramSocket!");
System.exit(1);
}
}
我在这里看不到任何问题,但是当我用wireshark用以下过滤器嗅探它时:
或使用此过滤器:
我没有看到我发送的任何包裹。