AGB  ·  Datenschutz  ·  Impressum  







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

Server disconnectet Client

Ein Thema von PierreB · begonnen am 24. Dez 2004 · letzter Beitrag vom 30. Dez 2004
Antwort Antwort
Seite 4 von 4   « Erste     234   
PierreB
(Gast)

n/a Beiträge
 
#31

Re: Server disconnectet Client

  Alt 29. Dez 2004, 20:14
Zitat:
Meinst du wirklich, das ist so einfach? Wenn du es so haben willst wie bisher, dann füge die aktuelle Connections[] - also den Socket - hinzu.
hä ? den Sokcket hab ich doch schon hinzugefügt ! Mit ServerSocket

Zitat:
Ach, und was ist, wenn sich ein 2. Client einloggt bzw. verbindet während der erste den Timer angeschmissen hat, diese aber noch nciht ausgelöst hat? Was ist dann? Wem gehört der Nick? Aus welchem Socket willst du lesen?
Das ist mir eigentlich egal, die Wahrscheinlichkeit das so etwas eintritt sollte ziemlich gering sein, da ich eh nur mit paar Leuten chatten werde. Und den sag ich dann halt, der der erste um 18.30Uhr kommen soll, der zweite um 18.31Uhr, usw.

Aber warum funktioniert denn das kicken jetzt nicht mehr ?
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#32

Re: Server disconnectet Client

  Alt 29. Dez 2004, 23:27
Moin!

Zitat von delphman:
Zitat:
Meinst du wirklich, das ist so einfach? Wenn du es so haben willst wie bisher, dann füge die aktuelle Connections[] - also den Socket - hinzu.
hä ? den Sokcket hab ich doch schon hinzugefügt ! Mit ServerSocket

Zitat:
Ach, und was ist, wenn sich ein 2. Client einloggt bzw. verbindet während der erste den Timer angeschmissen hat, diese aber noch nciht ausgelöst hat? Was ist dann? Wem gehört der Nick? Aus welchem Socket willst du lesen?
Das ist mir eigentlich egal, die Wahrscheinlichkeit das so etwas eintritt sollte ziemlich gering sein, da ich eh nur mit paar Leuten chatten werde. Und den sag ich dann halt, der der erste um 18.30Uhr kommen soll, der zweite um 18.31Uhr, usw.

Aber warum funktioniert denn das kicken jetzt nicht mehr ?
Ganz einfach: weil du nicht mehr den jeweiligen Socket der Verbindung der ListBox hinzufügst, sondern nur die TServerSocket Komponente an sich. Das ist aber die Komponente und diese enthält die einzelnen Sockets zu den Clients (u.a. durch die Connections[] Eigenschaft erreichbar). Und wenn dir nicht klar ist, das eine Klasse Namens TServerSocket was anderes ist als die Klasse TCustomWinSocket und diese auch nicht von einander abgeleitet sind um kompatibel zu sein, dann empfehle ich dir erstmal grundlegend das Klassentutorial von Luckie.

So hart es klingen mag, aber ich weiss sonst nicht gross wie ich dir das sonst verständlich machen soll...

MfG
Muetze1
  Mit Zitat antworten Zitat
PierreB
(Gast)

n/a Beiträge
 
#33

Re: Server disconnectet Client

  Alt 30. Dez 2004, 10:15
Moin,


ok, ich gucks mir nochmal an.

Trotzdem vielen Dank für deine Hilfe !
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#34

Re: Server disconnectet Client

  Alt 30. Dez 2004, 17:34
Moin!

Mir ist noch was eingefallen zur Verdeutlichung:

Angenommen wir haben mehrere Komponenten auf einer Form und immer wenn auf einer von diesen geklickt wird, dann wird ein und die gleiche Routine aufgerufen (entspricht der OnClientConnect). Darin fügen wir den Namen der Komponente die geklickt wird einer ListBox hinzu und als Objekt die Komponente selber (so hatte ich es). Du hast es aber nun durch deine Änderungen so gemacht, das du beim Klick den Komponentennamen der ListBox hinzufügst und die Form auf der sie liegen. Nun weiss ich aber nachher nicht mehr, welche Komponente das war, wenn ich später mal in der ListBox nachschaue. Egal wo ich nachschaue, in jedem Eintrag der ListBox steht die Form drinne, aber das interessiert mich nicht, die habe ich und die ist eh immer gleich. Ich will da direkt die Komponente haben...

Für die Analogien:

Form = ServerSocket1 (TServerSocket)
Komponente = Socket (TCustomWinSocket) Instanz

MfG
Muetze1
  Mit Zitat antworten Zitat
PierreB
(Gast)

n/a Beiträge
 
#35

Re: Server disconnectet Client

  Alt 30. Dez 2004, 17:48
Zitat:
Angenommen wir haben mehrere Komponenten auf einer Form und immer wenn auf einer von diesen geklickt wird, dann wird ein und die gleiche Routine aufgerufen (entspricht der OnClientConnect). Darin fügen wir den Namen der Komponente die geklickt wird einer ListBox hinzu und als Objekt die Komponente selber (so hatte ich es). Du hast es aber nun durch deine Änderungen so gemacht, das du beim Klick den Komponentennamen der ListBox hinzufügst und die Form auf der sie liegen. Nun weiss ich aber nachher nicht mehr, welche Komponente das war, wenn ich später mal in der ListBox nachschaue. Egal wo ich nachschaue, in jedem Eintrag der ListBox steht die Form drinne, aber das interessiert mich nicht, die habe ich und die ist eh immer gleich. Ich will da direkt die Komponente haben...
Also deshalb geht das kicken jetzt nicht mehr, ja?

Könnte man dann nicht mit ner for-Schleife alle Komponenten (also alle Sockets) durchgehen und wenns die richtige ist, den User rauswerfen ?
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#36

Re: Server disconnectet Client

  Alt 30. Dez 2004, 17:54
Moin!

Zitat von delphman:
Zitat:
Angenommen wir haben mehrere Komponenten auf einer Form und immer wenn auf einer von diesen geklickt wird, dann wird ein und die gleiche Routine aufgerufen (entspricht der OnClientConnect). Darin fügen wir den Namen der Komponente die geklickt wird einer ListBox hinzu und als Objekt die Komponente selber (so hatte ich es). Du hast es aber nun durch deine Änderungen so gemacht, das du beim Klick den Komponentennamen der ListBox hinzufügst und die Form auf der sie liegen. Nun weiss ich aber nachher nicht mehr, welche Komponente das war, wenn ich später mal in der ListBox nachschaue. Egal wo ich nachschaue, in jedem Eintrag der ListBox steht die Form drinne, aber das interessiert mich nicht, die habe ich und die ist eh immer gleich. Ich will da direkt die Komponente haben...
Also deshalb geht das kicken jetzt nicht mehr, ja?

Könnte man dann nicht mit ner for-Schleife alle Komponenten (also alle Sockets) durchgehen und wenns die richtige ist, den User rauswerfen ?
Genau deshalb, ja.

Und zu der Schleife: Warum nicht einfach immer den jeweiligen Socket zum ListBox Eintrag hinzufügen? Dann ist es so einfach wie eh und je...
Und selbst mit der Schleife: woher wissen das der jeweilige Eintrag der richtige ist?

MfG
Muetze1
  Mit Zitat antworten Zitat
PierreB
(Gast)

n/a Beiträge
 
#37

Re: Server disconnectet Client

  Alt 30. Dez 2004, 17:57
Aber bloß wie ???

Geht das eine, geht das andere nicht mehr !
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


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 12:17 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