Startseite ¦  was ist neu ¦  programmier tips ¦  indy artikel ¦  intraweb artikel ¦  informationen ¦  links ¦  interviews ¦  sonstiges
kylix ¦  tutorials ¦  online shop ¦  fotos ¦  Add&Win Gewinnspiel


Willkommen Gast. Bitte einloggen oder registrieren.
17.05.2012, 02:45:26
Übersicht Hilfe Suche Einloggen Registrieren

+  SwissDelphiCenter Forum
|-+  German Forums
| |-+  Internet / LAN Forum
| | |-+  TServerSocket: SendText, SendStream, SendBuf
« vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: TServerSocket: SendText, SendStream, SendBuf  (Gelesen 2053 mal)
MR321
Sr. Member
****
Offline Offline

Beiträge: 363


« am: 10.03.2002, 12:36:10 »

SendText ist ja noch ganz einfach, einfach als Parameter einen String senden, und dem Client dann nachher per ReciveText abfragen.

Das ganze hat aber entscheidene Nachteile:
- Wenn man schnell 2 Strings hintereinander sendet, dann wird daraus einer gemacht
- Wenn man einen langen String sendet, dann werden daraus 2 gemacht!
- Es ist nicht kompatibel mit Anwendungen, die in einer anderen Sprache geschrieben wurden.

Wer kann mir sagen wie ich SendStream und SendBuf verwende???
Danke im Voraus!
Gespeichert

Computers are like air conditioners, they stop working immediately, if you open windows.
Simon Grossenbacher
Administrator
Sr. Member
*****
Offline Offline

Beiträge: 450


WWW
« Antworten #1 am: 10.03.2002, 14:10:57 »

Mit SendBuf kannst du z.B. einen record senden. Du übergibst einfach den Record und seine Grösse.

Bei einem Stream kannst du alle abgeleiteten Klassen von TStream über das Socket senden: z.B: TFileStream oder TStringStream, ...


2 Beispiele (ungetestet):

[font  size=2 face="Courier New" color="#000000"]type
  
TSender = record
    
Name: String;
    Text: String;
  end;

[font color="#000080"]{....}

[/font]procedure TForm1.Button1Click(Sender: TObject);
var
  
RSender: TSender;
begin
  
ServerSocket1.Socket.SendBuf(RSender, SizeOf(RSender))
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  
stream: TFileStream;
begin
  
stream := TFileStream.Create('afile.txt', fmOpenRead);
  ServerSocket1.Socket.SendStream(stream);
  stream.Free;
end;
[/font]
Gespeichert

Simon Grossenbacher
MR321
Sr. Member
****
Offline Offline

Beiträge: 363


« Antworten #2 am: 10.03.2002, 15:12:20 »

Danke Simon, hast mir echt geholfen
fehlt nur noch mein Problem mit der eindeutigen Identifizierung der Clients!
Gespeichert

Computers are like air conditioners, they stop working immediately, if you open windows.
Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS