A
Andi_K
Gast
Hallo zusammen,
ich bin gerade dabei ein kleines Tool zu schreiben womit ich zum einen eine serielle Verbindung und UDP Pakete abhöhren kann.
Für die serielle Verbindung nutze ich RXTX. Um an die UDP Pakete zu kommen nutze ich java.net.*.
Mein Tool funktioniert soweit gut. Ich bekomme die seriellen Daten und die UDP Pakete.
Mir ist jetzt allerdings aufgefallen, dass ich bei manchen Daten, sowohl seriell als auch bei den UDP Paketen ein negatives Byte habe, was sich im Hexcode mit einem 'ffffff<hexzeichen>' auswirkt.
Hat jemand eine Ahnung an was das liegt?
Bei der seriellen Verbindung ist mir das auch schon aufgefallen. Dort habe ich einfach den String überprüft. Wenn er mti 'ffffff' anfängt, habe ich die 'ffffff' einfach weggeschnitten.
Mich wundert es aber trotzdem woher die 'ffffff's kommen.
Hier mal der Code um die UDP Daten zu lesen:
Also danke für die Hilfe.
Gruß
Andi
ich bin gerade dabei ein kleines Tool zu schreiben womit ich zum einen eine serielle Verbindung und UDP Pakete abhöhren kann.
Für die serielle Verbindung nutze ich RXTX. Um an die UDP Pakete zu kommen nutze ich java.net.*.
Mein Tool funktioniert soweit gut. Ich bekomme die seriellen Daten und die UDP Pakete.
Mir ist jetzt allerdings aufgefallen, dass ich bei manchen Daten, sowohl seriell als auch bei den UDP Paketen ein negatives Byte habe, was sich im Hexcode mit einem 'ffffff<hexzeichen>' auswirkt.
Hat jemand eine Ahnung an was das liegt?
Bei der seriellen Verbindung ist mir das auch schon aufgefallen. Dort habe ich einfach den String überprüft. Wenn er mti 'ffffff' anfängt, habe ich die 'ffffff' einfach weggeschnitten.
Mich wundert es aber trotzdem woher die 'ffffff's kommen.
Hier mal der Code um die UDP Daten zu lesen:
Code:
public static void ResceivePort(int port) throws java.io.IOException
{
int n = 0;
DatagramSocket serverSocket = new DatagramSocket(port); // Serversocket mit bestimmter Port-Nummer erstellen
byte[] receiveData = new byte[1024];
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
do
{
serverSocket.receive(receivePacket);
int i = 0;
// Lese die nächsten 10 Frames mit
do
{
//System.out.println(receivePacket.getData().length);
if (Integer.toHexString(receivePacket.getData()[i]).length()==1)
{
System.out.print("0" + Integer.toHexString(receivePacket.getData()[i]) + ":");
}
else
{
System.out.print(Integer.toHexString(receivePacket.getData()[i]) + ":");
}
i++;
}while(receivePacket.getData().length > i);
System.out.println("");
n++;
}while(n<10);
}
Also danke für die Hilfe.
Gruß
Andi