AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TClient/Server Socket erfindet leere Zeilen
Thema durchsuchen
Ansicht
Themen-Optionen

TClient/Server Socket erfindet leere Zeilen

Ein Thema von andy3453 · begonnen am 5. Nov 2003 · letzter Beitrag vom 5. Nov 2003
Antwort Antwort
andy3453

Registriert seit: 6. Mai 2003
10 Beiträge
 
#1

TClient/Server Socket erfindet leere Zeilen

  Alt 5. Nov 2003, 00:28
Moin,

ich habe hier ein nerviges Problem mit TServerSocket / Client Kompos.
Server:
Delphi-Quellcode:
  
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  Memo1.Lines.Append(Socket.ReceiveText);
end;
Client:
Delphi-Quellcode:
procedure senden;
begin
    Form1.ClientSocket1.Socket.SendText(Form1.Memo1.Lines.Text);
end;
Lokal ist alles wunderbar, aber sobald ich das ganze übers Internet mache hat das Ding plötzlich mehr Zeilen ( leere )

z.B.:

Clientmemo:

wert1
wert2
wert3
wert4
wert5


Servermemo:

wert1
wert2
wert3

wert4
wert5


Gibt es dabei soetwas wie ein Sync Problem?
Interessanterweise sind die Leerzeilen immer an der selben Stelle, aber lokal tritt es halt nicht auf.

Wer kann mir da helfen? Langsam werde ich wahnsinnig

viele Grüße

Andy
  Mit Zitat antworten Zitat
Schubi

Registriert seit: 4. Nov 2003
Ort: Happurg (Nürnberg)
331 Beiträge
 
Delphi 2006 Professional
 
#2

Re: TClient/Server Socket erfindet leere Zeilen

  Alt 5. Nov 2003, 07:19
Probier mal mit den beiden Eigenschaften WantReturns uns Wordwrap vom Memo ein bisschen herum!

Normalerweise müsstest du beim Server
Wordwrap := False;
WantReturns := True;

WantReturns schaltet die Zeilenumbrüche ein, und Wordwrap verhindert ein Automatisches umbrechen!

Beim Client Wordwrap auf True, sonst musste immer so lästig scrollen.


Mein Verdacht:
Das Client-Memo bricht mit jedem von dir reingemachten Return um:
Zeile1
Zeile2
Zeile3

Dann sendest du das Ganze zum Server, und zwar als String:
'Zeile1'+#13+'Zeile2'+#13+'Zeile3'

Wenn nun das Server-Memo den String erst mit Wordwrap umbricht (Zeile zuende) und DANN die #13 interpretiert haste genau dein Problem.

Nur so ne Idee!

Oder: Das Server-Memo is kleiner als das vom Client. Also entwerder gleiche größe oder beim Server Wordwrap auf False...
Christian Schubert
Ich fange gerade erst an, den Umfang meiner Ahnungslosigkeit zu begreifen...
  Mit Zitat antworten Zitat
Kamil

Registriert seit: 16. Aug 2002
178 Beiträge
 
#3

Re: TClient/Server Socket erfindet leere Zeilen

  Alt 5. Nov 2003, 08:22
Nimm anstatt procedure
Memo1.Lines.Append(Socket.ReceiveText);
die folgende Zeile
Memo1.LInes.Text:=Memo1.Lines.Text+Socket.ReceiveT ext;

(Appand geht immer in die nächste Zeile wenn du etwas hinzugefüt hast)
  Mit Zitat antworten Zitat
andy3453

Registriert seit: 6. Mai 2003
10 Beiträge
 
#4

Re: TClient/Server Socket erfindet leere Zeilen

  Alt 5. Nov 2003, 23:14
Danke Kamil
der Tip hats gebracht. Zwar tritt der Fehler immernoch ein einziges Mal in dem kompletten Memo auf, aber das
habe ich einfach gelöst, indem ich Leerzeilen rausfilter. Nicht schön, aber selten


viele Grüße
Andy
  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 09:58 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