Java 如何从客户端获取所有数据(这里的客户端是我的rfid机器)
我是java新手。在这里,我向我的rfid机器展示了三种不同的rfid卡。但我只得到一个正确的ans,答案是重复我的代码有什么问题, 提前谢谢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
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