我的 Java 程序收不到 JAVA UDP 数据包。 UDP 数据来自 SMART SNIFF 工具,但当我尝试通过 Java 时,程序似乎卡在了数据接收线上。场景是其他服务器之一正在将数据广播到一个网络中的所有服务器,而我的服务器就是其中之一。我已经获得了有关 SMART SNIFF 的所有信息,例如本地端口、远程端口和主机。
任何人都可以帮忙,比如潜在的问题是什么?
大家好,
我的 Java 程序收不到 JAVA UDP 数据包。 UDP 数据来自 SMART SNIFF 工具,但当我尝试通过 Java 时,程序似乎卡在了数据接收线上。场景是其他服务器之一正在将数据广播到一个网络中的所有服务器,而我的服务器就是其中之一。我已经获得了有关 SMART SNIFF 的所有信息,例如本地端口、远程端口和主机。
任何人都可以帮忙,比如潜在的问题是什么?
公共类 UDPReceive {
//static ServerSocket variable
private static ServerSocket server;
//socket server port on which it will listen
private static int port = 2222;
public static void main(String args[]) throws IOException, ClassNotFoundException{
//create the socket server object
server = new ServerSocket();
InetAddress inetAddress = InetAddress.getByName("222.222.2.222");
SocketAddress endPoint = new InetSocketAddress(inetAddress, port);
server.bind(endPoint);
//keep listens indefinitely until receives 'exit' call or program terminates
while(true){
System.out.println("Waiting for the client request");
//creating socket and waiting for client connection
Socket socket = server.accept();
//read from socket to ObjectInputStream object
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
//convert ObjectInputStream object to String
String message = (String) ois.readObject();
System.out.println("Message Received: " + message);
//create ObjectOutputStream object
ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
//write object to Socket
oos.writeObject("Hi Client "+message);
//close resources
ois.close();
oos.close();
socket.close();
//terminate the server if client sends exit request
if(message.equalsIgnoreCase("exit")) break;
}
System.out.println("Shutting down Socket server!!");
//close the ServerSocket object
server.close();
}
}