Java にはない tcp サーバーもハードウェア デバイスを持っています。データを送受信する必要があります。
サーバーに接続し、次のコードを使用して構成データを送信しています
this.clientSocket=new Socket("198.168.1.17",9999);
this.os=new DataOutputStream(this.clientSocket.getOutputStream());
this.in=new DataInputStream(this.clientSocket.getInputStream());
System.out.println("Conncted");
char data[]={0x03,0x03,0x00};
byte b[]=new byte[data.length];
for (int i = 0; i < b.length; i++) {
b[i] = (byte) data[i];
}
try {
os.write(b);
デバイスはデータを正しく受信します。現在、TCP クライアントではデータを受信できませんが、上記のコードの直後に次のコードを記述します。
int size =in.available();
byte data1[]=new byte[size];
// in.read(data1);
String str=new String(data1);
System.out.println("Reading data:"+str);
それはデータの読み取りのみを示し、文字列にはデータがありませんまた、スレッド内のコードについて試しました
public void run(){
try{
while(true){
int size =in.available();
byte data[]=new byte[size];
in.read(data);
String str=new String(data);
System.out.println("Reading data:"+str);
}
スレッドでは、データの読み取りのみが表示されます。サーバーからデータを取得する方法を教えてください。また、サーバーが組み込まれていることに注意してください。サーバー コードを変更することはできません。