![]() |
AW: TCP persistent
Hallo,
Ich habs am laufen! Nur wieso funktionniert es mit der socket compo. und nicht mit der Indy? Hier die socket version mit der es funktionniert!
Delphi-Quellcode:
Hier dann die Indy version mit IdTcpClient. (funktionniert leider nicht)
procedure TfrmMain.Button2Click(Sender: TObject);
var Data: AnsiString; begin Data := #$04#$01#$02#$23#$3c#$00#$0a#$01#$ff#$00#$00#$00#$00#$00#$00#$00#$fe; // Nachricht zusammenbauen, z.B. schalten Memo1.Lines.Add('Send2: '+Str2Hex(Data)); ClientSocket1.Socket.SendText(Data); end;
Delphi-Quellcode:
procedure TfrmMain.Button2Click(Sender: TObject);
Var port1on: string; begin port1on := #$04#$01#$02#$23#$3c#$00#$0a#$01#$ff#$00#$00#$00#$00#$00#$00#$00#$fe; IdTCPClient1.IOHandler.Write(port1on); end; |
AW: TCP persistent
Dieses funktionniert leider auch nicht!
Was mache ich Falsch?
Delphi-Quellcode:
obwohl im buf die richtige bytefolge gesendet wird. :wall:
Procedure TFClient.BSendClick(Sender: TObject);
Var buf: TidBytes; begin SetLength(Buf, 17); FillBytes(Buf, 17, 0); Buf[0] := $04; Buf[1] := $01; Buf[2] := $02; Buf[3] := $23; Buf[4] := $3c; // para1; //Exo1 Buf[5] := $00; Buf[6] := $0a; Buf[7] := $01; Buf[8] := $ff;//port1; Buf[9] := $00;//port2; Buf[10] := $00;//port3; Buf[11] := $00;//port4; Buf[12] := $00;//port5; Buf[13] := $00;//port6; Buf[14] := $00;//port7; Buf[15] := $00;//port8; Buf[16] := $fe;//para3; //IdTCPClient1.IOHandler.Write(Buf); <---- geht nicht IdTCPClient1.Socket.Write(buf); <---- geht auch nicht |
AW: TCP persistent
.. und wie schaut es mit
Delphi-Quellcode:
aus?
idTCPClient1.IOHandler.Write(buf,17);
Grüße Klaus |
AW: TCP persistent
Zitat:
|
AW: TCP persistent
.. bekommst Du eine Fehlermeldung - in Deinem Programm oder in der entfernten Anwendung?
Der Client hat sivh auch mit dem Server verbunden bevor Du die Nachricht abschickst - oder? Grüße Klaus |
AW: TCP persistent
Zitat:
Sie kommt auch an, ich sehe das am flackern der led's. Zitat:
Es ist echt zum verzweifeln, weil es ja mit der socks komponente funst. Ich brauche aber die Indy kompo wegen Android. |
AW: TCP persistent
Hast Du eine Möglichkeit die übertragenen Daten zu tracen (mit Wireshark z.B.).
Einmal mit socks und einmal mit indy versandt. Vielleicht zeigen sich ja Unterschiede. Grüße Klaus |
AW: TCP persistent
Zitat:
Danke, Ich mach mich mal gleich ans werk. |
AW: TCP persistent
Liste der Anhänge anzeigen (Anzahl: 2)
Hier das resultat.
Indy Dump: bytefolge die ich sende: 04 01 02 23 3c 00 0a 01 ff 00 00 00 00 00 00 00 fe Und das modul schaltet nicht!! Socks Dump: bytfolge die ich sende: 04 01 02 23 3c 00 0a 01 ff 00 00 00 00 00 00 00 fe Da wird aber irgendwie noch zwei bytes angehängt! Und zwar 0d 0a. CR/LF Ergibt also : 04 01 02 23 3c 00 0a 01 ff 00 00 00 00 00 00 00 fe 0d 0a Und das modul schaltet!! Soll/kann das mein problem sein? Hab die zwei dumps mal angehängt. Edit: Hab auch die zwei bytes in buf beigefügt und länge angepasst, schaltet trotzdem nicht. |
AW: TCP persistent
Bei dem Versand mit sock verwendest Du SendText, das wird wohl cr/LF anfügen.
Bei Indy sollte es etwas ähnliches geben.. writeLn z.b. Grüße Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz