4,356
社区成员
发帖
与我相关
我的任务
分享
package com.ldu.middle;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketAddress;
import java.net.SocketException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class UDPServer implements Runnable{
static int servPort = 2020;
private DatagramPacket data=null;
public UDPServer(DatagramPacket data){
this.data=data;
}
@Override
public void run() {
//System.out.println("received Data: "+new String(data.getData(),0,data.getLength()));
System.out.println("received Data: "+data.getData());
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static void openServer() throws SocketException{
DatagramSocket server=new DatagramSocket(servPort);
ExecutorService service=Executors.newFixedThreadPool(3);//线程池
byte[] bytes=new byte[1024];
DatagramPacket data=new DatagramPacket(bytes, bytes.length);
try {
System.out.println("listening Port...");
server.receive(data);
System.out.println("receive data...");
System.out.println("data = "+data.getData());
} catch (IOException e) {
e.printStackTrace();
}
service.execute(new UDPServer(data));
server.close();
System.out.println("close!!!");
}
public static void main(String[] args) throws SocketException {
System.out.println("open...");
openServer();
System.out.println("close!!!");
}
}