![]() |
Speziellen Client vom Server trennen?
Hi,
habe nach dem Chat-Tutorial einen kleinen Chat nachgebaut und es klappt auch echt gut. Hab noch n paar Features hinzugefügt, aber beim "kick" von einem speziellen Client scheitere ich kläglich... Könnt' ihr mir vielleicht helfen? Wie kann ich vom Server aus einen speziellen Client kicken? MfG ziwu-zubi |
Re: Speziellen Client vom Server trennen?
speichere zu jedem client den socket.
willste den client kicken einfach seinen socket schließen. besser is aber wenn du dem client vorher nen kick sendest, dann weiß der client bescheid, warum die verbindung weg is |
Re: Speziellen Client vom Server trennen?
Danke für die schnelle Antwort! Werd' gleich mal probieren ;)
...Hier das konkrete Bsp:
Delphi-Quellcode:
procedure TForm1.btn_kickClick(Sender: TObject);
var Selected_Client, i, x : Integer; Selected_Text : string; begin Selected_Text := lb_clients.Items.Strings[lb_clients.ItemIndex]; for x := 0 to ServerSocket1.Socket.ActiveConnections-1 do begin if ServerSocket1.Socket.Connections[x].RemoteAddress = Selected_Text then begin Selected_Client := x; end; end; |
Re: Speziellen Client vom Server trennen?
das kann funktionieren, muss aber nicht. versuch mal mehrere clients hintereinander zu kicken unzwar nicht in der reihenfolge wie sie connected haben. der index deines clients ist nicht gleich dem index des zugeordneten sockets des servers
besser ist es nen record auf zu machen
Delphi-Quellcode:
type TUser = record
name:string[30]; socket:T...Socket; end; beim anmelden des clients einfach den socket mit reinwerfen fertig ^^ denn brauchste auch nich die for schleife durchlaufen, sondern kannst direkt über den index drauf zugreifen |
Re: Speziellen Client vom Server trennen?
und konfortabler als ein Record ist ein Object welches man mit entsprechenden Methoden versieht zumal ja schon die hälte objectorientiert ist - warum also jetzt records hinzufügen und somit von der objectorientierung weg gehen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:37 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