ExecutorService fixedThreadPool =Executors.newFixedThreadPool(20);//创建20个线程ServerSocket ss =null;ThreadLocal<String> longLocal =newThreadLocal<String>();publicvoidrun(){try{
ss =newServerSocket(20055);}catch(IOException e){
e.printStackTrace();}for(int i =0; i <20; i++){
fixedThreadPool.execute(newRunnable(){@Overridepublicvoidrun(){try{//创建一个serversocket其端口与发送端的端口是一样的while(true){Socket s = ss.accept();//侦听并接受到此套接字的连接,返回一个socket对象if(s !=null){InputStream is =null;//获取到输入流String ip = s.getInetAddress().toString().replace("/","");
s.setKeepAlive(true);
is = s.getInputStream();System.out.println("服务器端接受请求:==========socket.getInetAddress()=========="+ ip);byte[] buf =newbyte[4096];//接收收到的数据int line =0;while((line = is.read(buf))!=-1){String valie =newString(buf,0, line).trim();// System.out.println(valie);saveHlDroneMessage(valie, ip);}}}}catch(Exception e){
e.printStackTrace();}}});}}