Via Indy UDP Client ASCI Daten zu einem Netzwerkgerät senden
Hi ,
ich möchte via Indy UDPCient einen ASCI Befehl an ein Netzwerk Gerät senden. Das Gerät ist von Irtrans.de ein Infrarotempfänger / sender. Leider kommt immer "Received: ERROR: ASCII Format Error" ! Mit Putty und RAW Mode geht's ! Hier steht: Zitat:
Delphi-Quellcode:
Habe ich was übersehen ?
begin
ThisMessage := 'AVER' ; UDPMemo.Lines.Add(ThisMessage); UDPClient.Send(ThisMessage); andre |
AW: Via Indy UDP Client ASCI Daten zu einem Netzwerkgerät senden
.. trägt vielleicht nicht zur Lösung Deines Problems bei,
Aber in der Beschreibung wird von TCP geredet - warum willst Du dann UDP einsetzen. Irgendwie passt das nicht. Grüße Klaus |
AW: Via Indy UDP Client ASCI Daten zu einem Netzwerkgerät senden
Zitat:
Der Unicode-String "ASCI" wäre 8 Bytes lang, wenn man ihn unbehandelt an den Server sendet. "ASCI" sind zwar nicht 4 "Bytes", aber man kann annehmen dass ASCII Encoding gemeint ist. |
AW: Via Indy UDP Client ASCI Daten zu einem Netzwerkgerät senden
Hi,
habe mal angepasst String > AnsiString. Keine Änderung ! @Klaus, gibt es eine TCP Indy Demo wie ich den String senden kann ? Bin nicht so Fit, deshalb frage ich ... In der Anleitung steht UDP: Zitat:
grüße andre |
AW: Via Indy UDP Client ASCI Daten zu einem Netzwerkgerät senden
Zitat:
Zitat:
|
AW: Via Indy UDP Client ASCI Daten zu einem Netzwerkgerät senden
Moin,
hier unter 5. steht aber auch: Zitat:
Oder ein paar Zeilen, damit ich mich damit beschäftigen kann. danke andre |
AW: Via Indy UDP Client ASCI Daten zu einem Netzwerkgerät senden
Also bei der Beschreibung steht folgendes :
Code:
Ich weis das Indy wenn du Strings über Indy direkt sendest das er CR oder LF Anhängt.
Wichtig: Diese Bytes müssen als erste Daten über die Verbindung
geschickt werden. Sie müssen als Großbuchstaben und ohne zusätzliche Zeichen wie <CR> oder <LF> geschickt werden. Hast du mal versucht, diese als Zahl zusenden? Cardinal entspricht auch 4 Bytes. Hier ein Testcode bei einem Localen TCP Cleint/Server Der Server bekommt es richtig bei mir, aber naja ist halt nicht dein Server:
Delphi-Quellcode:
const Befehl : array[0..3] of AnsiChar = ('A','S','C','I');
begin IdTCPClient1.Connect; IdTCPClient1.IOHandler.Write(Cardinal(Befehl)); end; |
AW: Via Indy UDP Client ASCI Daten zu einem Netzwerkgerät senden
Hi Nikel,
danke dir für Deine Antwort. Ich verstehe dein Beispiel, gute Idee ! Ich Teste es am Wochenende, bin noch berufl. Unterwegs. Ach ja, nach dem Senden schickt das IR Teil auch eine Antwort zurück. Für den Empfang muss ich dann den Server nehmen, oder ? andre |
AW: Via Indy UDP Client ASCI Daten zu einem Netzwerkgerät senden
Bitte mal den Traffic mit Wireshark und co scannen, dann sieht man schneller obs an der Codierung liegt :)
|
AW: Via Indy UDP Client ASCI Daten zu einem Netzwerkgerät senden
Die Antwort bekommt der Client. So wie ich der Hilfe entnehme kannst du nun über ReadString (glaub ich heisst die Funktion) dei Antwort entgegennehmen, Da der String mit einem <LF> (eine Art String-End Zeichen) endet, was Indy in dieser Funktion Unterstützt.
Wie du dann den Result-String zerlegst, denk ich mal weisst du :-D Gruß NickelM |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz