Einzelnen Beitrag anzeigen

Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#1

TIdBytes, Variable deklariert als Word und versenden mit TCPIP

  Alt 17. Sep 2015, 13:20
Hallo zusammen,
ich habe eine Variable vom Typ Word und beschreibe diese mit dem Wert 999.
Anschließend wandle ich das in TIdBytes um und will es versenden über TIdTCPClient.
Das versenden klappt, es kommt auch im Server an.

Nur wenn ich mir den Inhalt von "aBytes" angucke vor dem versenden, steht da 231 und 3 drinne (in den beiden Bytes).

Wenn ich im Server etwas empfange, wandle ich die IdBytes wieder in ein Word um.

Versenden:
Delphi-Quellcode:
var
  myValue : Word;
  aBytes : TIdBytes;
begin
  myValue := 999;
  aBytes := ToBytes(myValue);
end;
Empfang:
Delphi-Quellcode:
var
  myValue : Word;
  aBytes : TIdBytes;
//Empfang... -> tmpStr = Eingangsstring vom TIdTCPServer
aBytes := ToBytes(tmpStr);

myValue := BytesToWord(aBytes);
Der Empfang (Server) wartet auf eine Nachricht und liest diese als String ein (mit Abschlusscharacter, da verschiedene Nachrichten empfangen werden können). Dieses String wandle ich wieder in IdBytes um, damit ich für die Auswertung komplett mit den IdBytes arbeiten kann.

Mein Problem ist jetzt, dass beim Empfang in den Bytes bereits etwas anderes steht wie beim absenden.
Absenden: 231 und 3
Empfang: 63 und 3

Könnt ihr mir da vielleicht weiterhelfen?

Den Empfang direkt als TIdBytes einlesen kann ich nicht, da ich da eine Bytesanzahl angeben muss, die ich einlesen will. Aber ich kann verschiedene Telegrammlängen empfangen, deswegen gehe ich über ein String mit Abschlusscharacter und kann darüber entscheiden, was ich mit der jeweiligen Nachricht mache.

Grüße
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat