Java 用于处理多个客户端的UDP服务器

Java 用于处理多个客户端的UDP服务器,java,udp,Java,Udp,我创建了一个UDP服务器。这是一具骷髅 public class UDPserver { public static void main(String[] args) throws Exception{ while(true){ .... some code ... packet = new DatagramPacket ( data , data.length, packet.getAddress(),

我创建了一个UDP服务器。这是一具骷髅

public class UDPserver {
      public static void main(String[] args) throws Exception{
           while(true){
              .... some code ...
              packet = new DatagramPacket ( data , data.length, packet.getAddress(), packet.getPort() );
              .... some code ...
              socket.receive( ... );
           }
      }
}
现在,我想让它处理多个请求,所以我检查了我必须实现Runnable

public class UDPserver implements Runnable { }
我读到我还需要跑步。但我不懂跑步。我应该把整个whiletrue语句放在运行中吗?梅因怎么样?有人能告诉我如何修改上面的代码来处理多个请求吗?
谢谢

移动UDPServer的run方法中的所有代码,包括whiletrue

在您的主要方法中:


UDPServer udpServer = new UDPServer();
udpServer.start();

为了确保没有例外不会破坏主循环,请记住捕获并处理whiletrue循环中可能出现的所有异常
您还可以为每个新连接使用新线程来执行。例如:

 class PacketPerforming extends Thread {
 DatagramPacket pak; 
 PacketPerforming(DatagramPacket pak) {
  super();
  this.pak = pak;
 } 

 public void run() {
  // do somethoing with pak
 }

 }

 // in your server thread
 while (true) { // i prefered wirte for (;;)

  DatagramPacket pak; // take pak object form remote socket

  PacketPerforming perform = new PacketPerforming(pak);
  perform.start();

 }