AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Speziellen Client vom Server trennen?
Thema durchsuchen
Ansicht
Themen-Optionen

Speziellen Client vom Server trennen?

Ein Thema von ziwu-zubi · begonnen am 29. Sep 2008 · letzter Beitrag vom 30. Sep 2008
Antwort Antwort
ziwu-zubi

Registriert seit: 29. Jan 2008
2 Beiträge
 
Delphi 7 Personal
 
#1

Speziellen Client vom Server trennen?

  Alt 29. Sep 2008, 09:30
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
  Mit Zitat antworten Zitat
Benutzerbild von jokerfacehro
jokerfacehro

Registriert seit: 13. Feb 2007
306 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Speziellen Client vom Server trennen?

  Alt 29. Sep 2008, 10:27
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
"Never touch a running system administrator !"
  Mit Zitat antworten Zitat
ziwu-zubi

Registriert seit: 29. Jan 2008
2 Beiträge
 
Delphi 7 Personal
 
#3

Re: Speziellen Client vom Server trennen?

  Alt 29. Sep 2008, 10:51
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;
  Mit Zitat antworten Zitat
Benutzerbild von jokerfacehro
jokerfacehro

Registriert seit: 13. Feb 2007
306 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Speziellen Client vom Server trennen?

  Alt 29. Sep 2008, 20:47
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
"Never touch a running system administrator !"
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Speziellen Client vom Server trennen?

  Alt 30. Sep 2008, 06:14
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz