Entwickler-Ecke

Internet / Netzwerk - Über TSocketServer eine Message an einen Client senden...


Force - So 22.01.06 18:19
Titel: Über TSocketServer eine Message an einen Client senden...
Hi!

Ich hab schon versucht, mit TServerSocket einen String zu senden, allerdings kommt dann die Meldung, dass der Socket nicht verbunden wäre...ich will den String mit

ServerSocket1.socket.sendtext('DerText')

schicken, aber dann kommt halt die oben genannte Meldung...woran liegt das? Ich hab schon versucht irgendwie die Client-IP da mit rein zubringen - na ja, hat nicht geklappt...

Muss ich einen anderen Befehl benutzen?

Thx,

Force


Marco D. - So 22.01.06 18:27

Hallo,

dieses Problem hatte ich auchmal.
Ist nur ein Client verbunden?
Dann probiers so:


Delphi-Quelltext
1:
serversocket1.socket.connections[0].sendtext('Deutscher Meister wird nur der BVB!');                    


Mit der Zahl in den eckigen Klammern kannst du festlegen, an welchen Client du senden willst, da ja mehrere Clients sich mit dem Serversocket verbinden können.


Force - So 22.01.06 18:31

Super!!! Vielen Dank!


Fighter#1 - So 22.01.06 20:06

Das Funktioniert nur solange du nur einen Klienten dran hängen hast.
Aber falls du X-Beliebige hast hilft dir dieser Code:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
var i : Integer;
begin
  
  For i := 0 To ServerSocket1.Socket.ActiveConnections -1 do begin
  
    ServerSocket1.Socket.Connections[I].SendText('Dein Text . . .');  
  
  end;
  
  
end;


Marco D. - So 22.01.06 20:14

Das ist zwar eigentlich unwichtig, aber man kann doch das begin und end weglassen, oder?


bs-Hobbit - So 22.01.06 21:49

jop kann man weglassen :) aber ich mache das immer hin, man kann ja nie wissen, ob noch was hinzukommt


Narses - Mo 23.01.06 00:14

Moin!

Ich verweise auch noch mal auf die FAQ [http://www.delphi-library.de/topic_die+Clients+von+TServerSocket+auseinanderhalten_47183.html]. :wink:

cu
Narses