Java 如何从客户端获取所有数据(这里的客户端是我的rfid机器)

Java 如何从客户端获取所有数据(这里的客户端是我的rfid机器),java,client-server,client,rfid,server,Java,Client Server,Client,Rfid,Server,我是java新手。在这里,我向我的rfid机器展示了三种不同的rfid卡。但我只得到一个正确的ans,答案是重复我的代码有什么问题, 提前谢谢 import java.io.BufferedReader; import java.io.DataInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSoc

我是java新手。在这里,我向我的rfid机器展示了三种不同的rfid卡。但我只得到一个正确的ans,答案是重复我的代码有什么问题, 提前谢谢

import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketAddress;
import java.net.SocketTimeoutException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;

public class Serverc {
    static String s= "55000016910001DB00FB63ABEEAFC1EC888F1030090602111114ABC200000000";
     static ArrayList<String> al=new ArrayList<String>();
    final protected static char[] hexArray = "0123456789ABCDEF".toCharArray();
    public static String bytesToHex(byte[] bytes) {
        char[] hexChars = new char[bytes.length * 2];
        for ( int j = 0; j < bytes.length; j++ ) {
            int v = bytes[j] & 0xFF;
            hexChars[j * 2] = hexArray[v >>> 4];
            hexChars[j * 2 + 1] = hexArray[v & 0x0F];
        }
        return new String(hexChars);
    }
    public static void connection() throws IOException
    {

      ServerSocket ss=new ServerSocket(9888);//exce
      ss.setSoTimeout(300000000);//exce
      System.out.println("Waiting for client on port " +
                ss.getLocalPort() + "...");
       while(true)
       {

                  Socket server = ss.accept();//exce
                  System.out.println("Just connected to "
                             + server.getRemoteSocketAddress());
                  DataInputStream in =
                  new DataInputStream(server.getInputStream());//exce
                  int input = 0;
                  //BufferedReader br = new BufferedReader(in);

                  byte byteArr[] = new byte[32];
//                example.getBytes();
                  try{
                       while((input = in.read(byteArr)) != -1)//exce
                       {

                         System.out.println("Size read is " + input);
                         System.out.println("Data is " + bytesToHex(byteArr));

                       }


//                       System.out.println("inside finally");
                         server.close();//exce
//                       System.out.println("outside finally");
                   }
                  catch(SocketTimeoutException ex){
                   System.out.println("Socket timed out!");
                 }
                  try {
                    Thread.sleep(1000);
                  } catch (InterruptedException e) {

                   e.printStackTrace();
                  }

      }
    }


    public static void main(String args[]) throws IOException{
        Serverc obj=new Serverc();
        obj.connection();


    }
}

请注意,我正在这里编写服务器代码客户端是我的RFID机器-无需大声喊叫:@Thomas:ohh抱歉,如果不需要它顺便说一句,你调试了你的代码吗?是的代码执行..直到这一行System.out.printlnData是+bytesToHexbyteArr;在此之后,我等待了很长时间,但没有结果我的数据重复。如果可能,您是否调试了客户端?我怀疑客户一直在发送相同的数据。
Waiting for client on port 9888...
Just connected to /223.185.14.90:7435
Size read is 9
Data is 55000003580000B8E30000000000000000000000000000000000000000000000
Size read is 24
Data is 55000012920001E200600107C47B7D520615031211141F810000000000000000
Size read is 24
Data is 55000012920001E200600107C47B7D520615031211141F810000000000000000
Size read is 24
Data is 55000012920001E200600107C47B7D520615031211141F810000000000000000
Size read is 24
Data is 55000012920001E200600107C47B7D520615031211141F810000000000000000
Size read is 24
Data is 55000012920001E200600107C47B7D520615031211141F810000000000000000