![]() |
ServerSocket1.Socket.Connections[X] - wozu?
hallo,
ich habe mit einem tutorial einen chat programmiert. hier ein auszug aus dem quelltext:
Code:
ich verstehe noch nicht so recht was diese zeile soll:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket); var startwert,connections,a:integer; text:string; begin startwert :=0; connections := ServerSocket1.Socket.ActiveConnections; text := Socket.ReceiveText; Memo1.Lines.Add(timetostr(now) +': ' +text); while startwert < connections do begin ServerSocket1.Socket.Connections[startwert].SendText(text); inc(startwert); end;
Code:
nach recherchen im internet glaube ich, dass der server den empfangenen text an den client mit der nummer in [] sendet (also an startwert). am anfang wird "startwert" doch auf "0" gesetzt. also muesste der server die empfangene nachricht doch nur an den client senden, der zu erst connected hat. wenn man das "sartwert" in der klammer durch null ersetzt passiert genau dies.
ServerSocket1.Socket.Connections[startwert]
wird also durch die while-schleife der wert von "startwert" geaendert? oder warum empfangen alle clients die nachrichten? :wiejetzt: danke |
Re: ServerSocket1.Socket.Connections[X] - wozu?
In Connections werden alle aktiven Verbindungen zu Clients gespeichert. Durch die Schleife wird die Nachricht an alle Clients zurückgeschickt. Der Wert von Startwert wird durch inc(Startwert) um eins erhöht. Entspricht also so ziemlich einer for-Schleife.
|
Re: ServerSocket1.Socket.Connections[X] - wozu?
Genau, man könnte also auch
Delphi-Quellcode:
schreiben ;-)
for startwert:=0 to concections do
ServerSocket1.Socket.Connections[startwert].SendText(text); |
Re: ServerSocket1.Socket.Connections[X] - wozu?
ah danke!!! :thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:52 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