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
Klaus01

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

AW: TCP persistent

  Alt 20. Aug 2015, 20:26
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
Klaus

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

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

AW: TCP persistent

  Alt 20. Aug 2015, 21: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 21:05 Uhr)
  Mit Zitat antworten Zitat
Klaus01

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

AW: TCP persistent

  Alt 21. Aug 2015, 04: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
 
#4

AW: TCP persistent

  Alt 21. Aug 2015, 13: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
 
#5

AW: TCP persistent

  Alt 22. Aug 2015, 08: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
 
#6

AW: TCP persistent

  Alt 22. Aug 2015, 10: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
 
#7

AW: TCP persistent

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


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 16:29 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