![]() |
tserversocket onclientread probleme
hi,
ich hab nen problem und zwar möchte ich eine stringlist via tclientsocket an den server verschicken dafür hab ich mir auch nen code geschrieben:
Delphi-Quellcode:
so aber beim server kommt dann die ganze stringlist aneinandergereit in einem string an
sc_handler:tclientsocket;
... var sl_temp:tstringlist; sl_temp.add(a); sl_temp.add(b); sl_temp.add(c); for I := 0 to sl_temp.Count - 1 do begin cs_handler.Socket.SendText(sl_temp[i]); end; warum? meine server procedure:
Delphi-Quellcode:
die clientread procedure wird blos einmal ausgeführt und das ergebis is dann
procedure Tfrm_sockets.cs_handlerClientRead(Sender: TObject;
Socket: TCustomWinSocket); begin s_line:=Socket.ReceiveText; ... end; s_line='abc' |
Re: tserversocket onclientread probleme
mach nach jedem array eintrag einen zeilenumbruch,
das sendest du dann an den server, nachdem der server das ganze erhalten hat pflückst du einfach den kompletten string anhand der zeilenumbrüche auseinander ;) allerdings wurde das schon sehr oft durchgekaut und es gibt schon einige schöne funktionen die dir das alles abnehmen, musst nur noch suchen xD :wiejetzt: ja genau :wall: |
Re: tserversocket onclientread probleme
ja supa... das is alles etwas komisch
habs gemacht:
Delphi-Quellcode:
dasergebnis is:
var sl_temp:tstringlist;
sl_temp.add(a); sl_temp.add(); sl_temp.add(b); sl_temp.add(); sl_temp.add(c); for I := 0 to sl_temp.Count - 1 do begin cs_handler.Socket.SendText(sl_temp[i]); end; s_line:='abc' ohne zeilenburuch oder ähnliches... edit: und hier im forum hab ich nichts darüber gefunden von wegen server/clientsocket stringlist verschicken |
Re: tserversocket onclientread probleme
Was hier schon öfters durchgekaut wurde, ist der Umstand, dass die Sockets die Daten einfach übertragen. Dass du das Format verstehst bzw. in richtige Teile zerlegt werden, dass ist deine Aufgabe. Mit anderen Worten: Denk dir ein Protokoll aus.
Siehe dazu u.a. ![]() |
Re: tserversocket onclientread probleme
joo danke hat mir sehr geholfen und meine fragen beantwirtet
|
Re: tserversocket onclientread probleme
Hi,
mach nur das
Delphi-Quellcode:
ohne Schleife und alles. Dann werden alle CR mit übertragen. auf der Client-seite kannst du dann den empfangenen String einer StringList.text zuweisen und alles ist im grünen bereich.
cs_handler.Socket.SendText(sl_temp.text);
Denk aber daran, dass du auf den gesamten Text warten mußt bevor du hier (Client) zuweist. Aber das Thema ist dann wie vorher benannt an anderer Stelle zu erörtern. hier ging es ja um die Zeilen. Gruß oki |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:59 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