AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TCP persistent

Ein Thema von jeng37 · begonnen am 30. Jul 2015 · letzter Beitrag vom 4. Nov 2015
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
jeng37

Registriert seit: 23. Jul 2015
42 Beiträge
 
#31

AW: TCP persistent

  Alt 20. Aug 2015, 22:01
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.
schaltet immer noch nicht.

Delphi-Quellcode:
procedure TFClient.BSendClick(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.Writeln(String(port1on), IndyTextEncoding_OSDefault);
 sleep(99); //<--- um einen break point zu setzen
Beim break point hat port1on: #4#1#2'#<'#0#$A#1'ÿ'#0#0#0#0#0#0#0'þ'
Edit: was richtig ist!

Geändert von jeng37 (20. Aug 2015 um 22:05 Uhr)
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#32

AW: TCP persistent

  Alt 21. Aug 2015, 05:55
Mache aus dem String ein AnsiString.
Bei den socks verwendest du auch AnsiStrings.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
jeng37

Registriert seit: 23. Jul 2015
42 Beiträge
 
#33

AW: TCP persistent

  Alt 21. Aug 2015, 14:21
Mache aus dem String ein AnsiString.
Bei den socks verwendest du auch AnsiStrings.

Delphi-Quellcode:

procedure TFClient.BSendClick(Sender: TObject);
Var
    Port1on : String;
       iSend: AnsiString;
           i: Integer;
begin
 port1on := #$04#$01#$02#$23#$3c#$00#$0a#$01#$ff#$00#$00#$00#$00#$00#$00#$00#$fe;
  SetLength(iSend, Length(port1on));
  for i := 0 to Length(port1on) do
  begin
    iSend[i] := AnsiChar(port1on[i]);
  end;
   IdTCPClient1.IOHandler.Writeln(iSend);
 sleep(99); //<--- um einen break point zu setzen
Hmm geht auch nicht...
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#34

AW: TCP persistent

  Alt 22. Aug 2015, 09:59
Was steht denn in iSend drin? Wieso ist Portion ein 'string' und 'iSend' ein AnsiString?

Bei einem String ist jedes Zeichen 2 Bytes lang und wenn Du nun so ein 2-Byte-Zeichen auf einen 'AnsiChar' castest, dann passt das nicht.

Also?
  Mit Zitat antworten Zitat
jeng37

Registriert seit: 23. Jul 2015
42 Beiträge
 
#35

AW: TCP persistent

  Alt 22. Aug 2015, 11:24
Was steht denn in iSend drin? Wieso ist Portion ein 'string' und 'iSend' ein AnsiString?

Bei einem String ist jedes Zeichen 2 Bytes lang und wenn Du nun so ein 2-Byte-Zeichen auf einen 'AnsiChar' castest, dann passt das nicht.

Also?
Hmm ich stehe auf dem schlauch...

mit port1on : AnsiString; geht es auch nicht.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#36

AW: TCP persistent

  Alt 22. Aug 2015, 12:09
Funktionert denn IdTcpClient1.IOHandler.WriteLn(port1On) ?
  Mit Zitat antworten Zitat
jeng37

Registriert seit: 23. Jul 2015
42 Beiträge
 
#37

AW: TCP persistent

  Alt 22. Aug 2015, 12:13
Funktionert denn IdTcpClient1.IOHandler.WriteLn(port1On) ?
Ja hier die ausgabe von Wireshark:
Code:
0000003B 04 01 02 23 3c 00 0a 01  ff 00 00 00 00 00 00 00 ...#<... ........
0000004B fe 0d 0a
Ich habs auch so rum probiert und es klappt auch nicht.
Delphi-Quellcode:
  str := '\04\01\02#<\00\n\01\ff\00\00\00\00\00\00\00\fe';
 Data := AnsiString(str);
  IdTcpClient1.IOHandler.WriteLn(Data)
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#38

AW: TCP persistent

  Alt 22. Aug 2015, 21:04
.. versuche es mal so:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  data: TidBytes;

begin
  idTCPClient1.Port := 49151;
  idTCPClient1.Host := '192.168.80.133';
  idTCPClient1.Connect;
  if idTCPClient1.Connected then
    begin
      setLength(data,17);
      data[0] := $04;
      data[1] := $01;
      data[2] := $02;
      data[3] := $23;
      data[4] := $3c;
      data[5] := $00;
      data[6] := $0a;
      data[7] := $01;
      data[8] := $ff;
      data[9] := $00;
      data[10] := $00;
      data[11] := $00;
      data[12] := $00;
      data[13] := $00;
      data[14] := $00;
      data[15] := $00;
      data[16] := $fe;

      idTCPClient1.IOHandler.Write(data);
      idTcpClient1.IOHandler.WriteLn();
      idTCPClient1.Disconnect;
    end;
end;
Am Ziel kommt dann das an:
Code:
0000000: 0401 0223 3c00 0a01 ff00 0000 0000 0000 
0000010: fe0d 0a
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
jeng37

Registriert seit: 23. Jul 2015
42 Beiträge
 
#39

AW: TCP persistent

  Alt 24. Aug 2015, 19:18
.. versuche es mal so:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  data: TidBytes;

begin
  idTCPClient1.Port := 49151;
  idTCPClient1.Host := '192.168.80.133';
  idTCPClient1.Connect;
  if idTCPClient1.Connected then
    begin
      setLength(data,17);
      data[0] := $04;
      data[1] := $01;
      data[2] := $02;
      data[3] := $23;
      data[4] := $3c;
      data[5] := $00;
      data[6] := $0a;
      data[7] := $01;
      data[8] := $ff;
      data[9] := $00;
      data[10] := $00;
      data[11] := $00;
      data[12] := $00;
      data[13] := $00;
      data[14] := $00;
      data[15] := $00;
      data[16] := $fe;

      idTCPClient1.IOHandler.Write(data);
      idTcpClient1.IOHandler.WriteLn();
      idTCPClient1.Disconnect;
    end;
end;
Am Ziel kommt dann das an:
Code:
0000000: 0401 0223 3c00 0a01 ff00 0000 0000 0000 
0000010: fe0d 0a
Grüße
Klaus
Erst mal Danke an Dich für deine Mühe!
Ich habs auch schon auf diese weise versucht, aber est will einfach nicht klappen.
Ich gebe es jetzt auf mit der Indy Kompo. Ich benutze die synapse, diese funktionniert auf anhieb!
wie gesagt, Danke nochmals für deine und all denen anderen Ihre Hilfe!
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#40

AW: TCP persistent

  Alt 25. Aug 2015, 07:50
Und 'WriteLn' war richtig?

PS: Nicht, das Du jetzt für den Rest Deines Lebens denkst: 'Indy' sind Schrott, die funktionieren nicht. Das ist nämlich falsch.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:17 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