Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Kick-Funktion (https://www.delphipraxis.net/11217-kick-funktion.html)

bla 2. Nov 2003 11:47


Kick-Funktion
 
So jetzt hab ich meinen eigenen Chat nur will ich jetzt nur noch eine Kick-Funktion einfügen. Am besten wäre es wenn es html wäre und zwar will ich, wenn ich "/kick username" eingebe das der dann gekickt wird könnt ihr mir helfen?? wäre sehr erfreut darüber danke im vorraus. der jenige der des für mich machen kann kriegt soweit möglich auch nen platz in meinem chat. danke
cya bla

Illuminator-23-5 2. Nov 2003 12:03

Re: Kick-Funktion
 
wie programmierst du den chat?
du könntest einen befehl an den entsprechenden Client schicken, der den Erkennt und dann die Verbindung trennt

S - tefano 2. Nov 2003 12:42

Re: Kick-Funktion
 
Genau, so isses eigentlich am besten. Wie schon gesagt teilst du dem Client mit dass er gekickt wird, der Client trennt die Verbindung von selbst.
So hast du - und jetzt kommt mein eigener Senf ;-) - auch die Möglichkeit, dass der Client dem User mitteilen kann, dass er gekickt wurde. Wenn du es einfach so machst dass du einfach die jeweilige Verbindung des Servers zum Client schlichtweg schließt, dann würd es beim Client so aussehen als wäre einfach ein Verbindungsfehler aufgetreten, und niemand sagt dem User dass er überhaupt gekickt wurde...

Bis dann,

S - tefano

bla 2. Nov 2003 13:16

Re: Kick-Funktion
 
ja alles schön und gut. ich will es so machen das da steht verbindung getrennt und er auch ne halbe stunde oder länger net die möglichkeit hat reinzukommen. also einfach gekickt des wars. naja würde mich freuen;)

Chris1986 2. Nov 2003 13:25

Re: Kick-Funktion
 
Hi
Den "/kick Username" Befehl fragst du am Besten mit der Copy-Funktion ab.

Delphi-Quellcode:
var msg: string; //Message, die eingetippt wurde
    username: string; //Wer soll gekickt werden?
begin
  if copy (msg,1,5) = '/kick'
    then begin
           username := copy (msg,7,length(msg)-6); //Der Username wird aus dem String gefiltert
         end;
end;
Das ist nur ein Denkansatz, wie du das erweiterst (z.B. mehrere User gleichzeitig kicken) ist deine Sache.

MfG
Christian

Chris1986 2. Nov 2003 13:27

Re: Kick-Funktion
 
Zitat:

Zitat von bla
und er auch ne halbe stunde oder länger net die möglichkeit hat reinzukommen. also einfach gekickt des wars. naja würde mich freuen;)

Also das wird jetzt schon schwieriger. Benutzt dein Server eine Datenbank, oder muss das auf der Client-Seite geregelt werden?

MfG
Christian

bla 2. Nov 2003 13:27

Re: Kick-Funktion
 
das hab ich jetzt nicht ganz kapiert

var msg: string; //Message, die eingetippt wurde <<was meint ihr damit?
username: string; //Wer soll gekickt werden?
begin
if copy (msg,1,5) = '/kick'
then begin
username := copy (msg,7,length(msg)-6); //Der Username wird aus dem String gefiltert
end;
end;

also /kick username=>fliegt?

S - tefano 2. Nov 2003 13:27

Re: Kick-Funktion
 
Naja, wie gesagt. Du schickst dem Client den Befehl dass er sich trennen soll, er machts von selbst ohne dass sein User Einfluss hat.
Du schreibst dir den Nick des Users zusammen mit der Uhrzeit an der du ihn gekickt hast in ne Datei. Jedes mal wenn sich ein Client anmeldet guckst du, ob sein Nick in der kick-Liste steht, und wenn er drinsteht vergleichst du die Uhrzeiten. Wenn es länger als eine Stunde her ist dass er gekickt wurde, dann darf er rein und du löscht seinen Eintrag aus der Liste.
Ich seh da kein Problem...
oder willst du nen fertigen Code haben? Ich glaube nicht dass es hier viele Leute gibt die das einfach so machen. Naja, einer würd mir schon einfallen der es sogar ohne gefragt zu werden macht, aber den Nick sag ich lieber nicht. Hinterher isser noch sauer auf mich.

Bis dann,

S - tefano

[Edit]Wie konntet ihr alle so schnell vor mir posten?! Da stimmt doch was nicht... also diesen Post am besten überlesen, dann klappts auch mit dem Nachbarn [/Edit]
[Edit2]Mit Message die Eingetippt wurde kann man es nicht ganz so gut beschreiben, da sie ja beim Client ankommt, und da wurde sie ja nicht eingetippt. Der Client bekommt ja die ganzen Nachrichten vom Server geschickt, und in msg steht dann die Nachricht drin. Und dann wird im Beispiel geprüft ob sich in der Message der Kick-Tag befindet, und dann wird entweder gekickt oder nicht. Der Username muss dann noch rausgefiltert werden, damit die Clients auch gucken können wer jetzt eigentlich gemeint ist. Wenn der Nick in der Msg mit dem eigenen übereinstimmt, geht der Client von selbst offline.
Naja, und wie das mit der halben Stunde möglich wäre hab ich ja oben schon geschrieben. ;-) [/Edit2]

Chris1986 2. Nov 2003 13:31

Re: Kick-Funktion
 
Zitat:

Zitat von bla
das hab ich jetzt nicht ganz kapiert

var msg: string; //Message, die eingetippt wurde <<was meint ihr damit?
username: string; //Wer soll gekickt werden?
begin
if copy (msg,1,5) = '/kick'
then begin
username := copy (msg,7,length(msg)-6); //Der Username wird aus dem String gefiltert
end;
end;

also /kick username=>fliegt?

Nein, die Funktion trennt noch keine Verbundungen. Sie zieht dir lediglich den Username aus einem String, der gekickt werden soll.

Lad deinen Quelltext mal hoch, sonst wissen wir ja garnicht, mit welchen Kompos du programmiert hast

MfG
Christian

bla 2. Nov 2003 13:32

Re: Kick-Funktion
 
schaut mal ich hab jez eine *.bat datei ok? und ich will da jetzt ne spezielle html-datei dranschließen usw. aber wenn ihr mir den fertigen code geben würdet wäre ich sehr froh und mega dankbar. danke im vorraus

cya bla


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:58 Uhr.
Seite 1 von 5  1 23     Letzte »    

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