2016-07-12 20 views
0
DatagramSocket clientSocket = new DatagramSocket(10076); 
InetAddress IPAddress = InetAddress.getByName("192.168.100.10"); 
byte[] sendData = new byte[9]; 
byte[] receiveData = new byte[9]; 
String sentence = "VDV2bE1"; 
sendData = sentence.getBytes(); 
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 10076); 
clientSocket.send(sendPacket); 
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); 
clientSocket.receive(receivePacket); 
clientSocket.close(); 

    UDP strToHex = new UDP(); 
    String result = new String(receivePacket.getData()); 
    String hex = strToHex.convertStringToHex(result); 
    String cut = hex.substring(10); 

    String A = cut.substring(0, 2); 
    String B = cut.substring(2, 4); 
    String C = cut.substring(4, 6); 
    String D = cut.substring(6, 8); 

    int cvA = Integer.parseInt(A);  
    int cvB = Integer.parseInt(B); 
    int cvC = Integer.parseInt(C); 
    int cvD = Integer.parseInt(D); 

    int calcA = (cvA - 30)*16; 
    int calcB = (cvB - 30); 
    int calcC = (cvC - 30)*16; 
    int calcD = (cvD - 30); 

    int PassIN = calcA + calcB; 
    int PassOUT = calcC + calcD; 

    int LPassIN = 0; 
    int LPassOUT = 0; 
    int tempIN; 
    int tempOUT; 


    if (LPassIN == 0) 
    { 
     tempIN = LPassIN + PassIN; 
    } else if (LPassIN == PassIN) 
    { 
     tempIN = LPassIN ; 
    } else if (LPassIN != PassIN); 
    { 
     tempIN = PassIN; 
    } 

    if (LPassOUT == 0) 
    { 
     tempOUT = LPassOUT + PassOUT; 
    } else if (LPassOUT == PassOUT) 
    { 
     tempOUT = LPassOUT ; 
    } else if (LPassOUT != PassOUT); 
    { 
     tempOUT = PassOUT; 
    } 

    System.out.println(tempIN); 
    System.out.println(tempOUT); 

Ich versuche, den Wert vorübergehend speichern/speichern in den PassIN in LPassIN und dann beide, ich werde vergleichen, wenn sie anders sind dann in LPassIN speichern und den neuen Wert, sonst Druck Altwert drucken .So speichern/speichern Sie temporäre Werte und vergleichen Sie?

+0

kann nicht funktionieren, finden Sie unter 'tempPassIN', können Sie die Frage klären, bitte? – ddb

+0

ermm ich weiß nicht, wie zu erklären, tempPassIN nicht vorhanden, weil ich es gelöscht habe, der aktuelle Code soweit funktionsfähig, aber ich versuche, es durch einen Vergleich zu verbessern –

+0

bearbeiten Sie Ihre Frage, bitte können wir Ihnen nicht helfen, wie – ddb

Antwort

0

sollte diese

if (LPassIN != PassIN); 
{ 
    LPassIN = PassIN; 
} 
System.out.println(LPassIN); 
Verwandte Themen