iChat Server & Client (2.11b Released!)
- Beta
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 100 Antworten in diesem Thema. Der letzte Beitrag () ist von dennis*<3.
-
-
-
Ich hab mich mal gemacht:
Über das normale Net.Scockets.TcpListener
kann man nur dann eine "Fernverbindung" machen, wenn auf dem Router der Port gemappt wurde.
d.h. Voresrt funktioniert er bei einigen nur über LAN.
Bis ich herausgefunden habe, wie ich VPNs aufbauen kann, wird das auch so bleiben.
Ein Preview:
Es gibt eine neue rcon.Funktion: "/remotekill", um den Client zu Beenden, statt ihn zu Kicken. Das kann dann nützlich sein, wenn er spammt, da er dann erstmal wieder neustarten muss.
Der Client hat nun folgende Befehle:
/clear (schon von Anfang an, aber ich habe vergessen, es zu erwähnen) : Nachrichtenverlauf löschen
/disconnect : na was wohl
/connect <IP> <Port> <Nick> : Verbindung, um z.B. bei einem Connection FAILED erneut zu versuchen
Man muss nun auch den Port der Verbindung setzen.
Falls es nicht gut geht, dann versucht es mal mit 8080 (Standard HTTP-Port, meistens offen.)
Hier könnt ihr prüfen, welche Ports gehen sollten (Nach aussen).
DL im Ersten Post.Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „FAtheone“ ()
-
Echt nett!
Perfekt für unseren Informatik Unterricht.
Achja, ein Verbesserungsvorschlag: "Send" als Standardbutton, damit die Clients die Nachrichten mit Enter absenden können.
Ansonsten hab ich nur 1x festgestellt, dass mir ein Client "abgekratzt" ist. (Server hat keine Nachrichten mehr bekommen)
Kannst ja nen auch Infobutton mit allen Commands in das Programm einbauen, dann muss man sich die nicht alle merken. -
-
Nicht unbedingt.
Zu den Verbesserungen: es guibt bereits 0.3.9 (als 0.4 releast)
Deine Vorschläge sind also bereits umgesetzt, ohne es zu wissen
neu:
Send mit Enter
Autocompletion für alle Befehle (Client)
Sauberer disconnect
Nickname steht in Fenstertitel
Release in wenigen Minuten.
/E:
Release fertig!
DL im 1.Post.Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „FAtheone“ ()
-
Sieht gut aus, hätte noch 2 Vorschläge:
1. Wenn die Box voll ist, dass der Client bei einer neuen Nachricht gleich nach unten scrollt.
2. Spamschutz im Server einbauen. z.B. maximal 3 Nachrichten pro User pro 10 Sekunden. Dass man das einstellen kann im Server und der Client dann z.B. eine Msgbox bekommt, dass der Spamschutz eingeschaltet ist, wenn man die Nachrichtenzahl überschreitet.
PS: Ein Design fehlt noch -
Design ist momentan zweitrangig, aber Vorschläge nehme ich gerne an.
Spamschutz wird Clientseitig ablaufen, was Rechenzeit spart und den Traffic verringert
Ein wichtige sicherheitslücke:
mit
/psay
lassen sich Server-to-Client Metabefehle simuleren, wie z.B. den remotekill:
/psay TestuserDenIchNichtMag /remotekill
Ich werde den Bug in 0.5 behoben haben, da so auch User einen Remotekill machen können (selbst gegen Admins!)
Scrolling wird ebenfalls gemacht.
//EDIT:
Die Sicherheitslücke existierte nie, da immer der Username und ein Doppelpunkt angehängt werden, versuche werden jedoch ab 0.5 Protokolliert.Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „FAtheone“ ()
-
-
-
Hallo, ich habe mich jetzt extra wegen dir hier registriert
Also:
- Masterliste
Umsetzung:
Angezeigt werden per Client vom Masterserver eine Liste mit servern. Diese senden bei dem Login oder Logout einen Status des aktuellen Servers an den Masterserver.
Um nicht auszulastend zu sein( ;D). Wird am Anfang einfach überprüft, ob der Server erreichbar ist. Wenn dies nicht der Fall ist, wird der Client ohne Server-auswahl und der Server ohne Master-Nachrichten gestartet. Wie man die verbindung verarbeitet? Ganz einfach! per TCP.
Und um alle 30 Minuten minimal eine aktuelle Liste zu haben werden alle einmal versucht erreicht zu werden, ist dies der Fall, bleibt in der Liste wenn nicht.... NAJA :P^^
Wie der Client das Abfragt musst du wissen.
(Falls du keinen Server hast der den Traffic oder, oder packt, kann ich dir einen oder wenn Nötig 2 zuverfügung stellen)
- Zeituhr
Umsetzung:
Es wird per lokaler Uhr die Uhrzeit bei einer Nachricht bei geschrieben.(War eine Idee aus meinem Clan)
Dies kann Server- oder Client-seitig passieren.
- Smylies:
Umsetzung:
Der Client hat eingespeicherte ganz kleine jpgs, oder, oder.
Diese werden bei erkenung bei der Zeichen sofort umgewandelt in Bilder.
- Mitgliederliste:
Umsetzung:
Du machst eine kleine 2. Form auf, in diese wird eine Liste eingefügt und diese wird nur angezeigt, wenn diese Form aufgerufen wird oder man auf den untereren Button "Refresh" klickt.
Damit hält man den Transfer sehr gering und nur bei dem Nötigsten.
- "Down-Scroll":
Umsetzung:
Bei neuen Nachrichten legt sich die Scroll Seite wieder auf den Grund um lesen zukönnen, was der jenige geschrieben hat.
- No-Timeout:
Umsetzung:
Es wird eine kleine Nachricht geschickt... alles KA^^
Und diese wird nicht angezeigt kann ja eine nonsens sache sein so etwas wie /da.
PS: Reschtschreibfehler Copyright by my keyboard
LG LucienDieser Beitrag wurde bereits 1 mal editiert, zuletzt von „lucienn3“ ()
-
Hallo lucienn3, vielen Dank für die Vorschläge, aber das Projekt liegt bereits auf Eis.
In version 2.11b (meiner aktuellen, privaten) gibt es einige Features bereits; für den Rest müsste ich mir mal Zeit nehmen.
Einen Masterserver halte ich, angesichts des eigentlichen Zwecks, für unangebracht - aber du kannst ja ein eingenes programmieren.
Smileys sind verlockend - und auch schon fast implementiert.
Mitgliedliste gibt es bereits (mit selektiver Anzeige, je nach Nutzerrechten)
"Down-Scroll" ebenfalls
Und Timeouts sind ebenfalls implementiert (Keep-Alive Pakete)
Außerdem ist der Nachrichtenverkehr mitlerweile AES gesichert und Account/ Session-key basiert.
Bei Bedarf kann ich ja mal die 2.11b hochladen.
Gruß, FAtheone -
-
Das ist bis jetzt das beste Tool das ich hier je gesehen habe!
Es ist einfach und schnell.
Einzige Kritik Punkte:
Stell mal Formborderstyle auf Fixedsingle
Und deaktiviere Maximieren button.
Ansonsten:
-Anzeige IM CLIENT wenn jemand den chat verlässt.
-Im Client IP Wechsel (Nicht immer neu starten)
-Das man Leute auch per Nickname ODER ID Kicken kann.
Das mit der ID ist nicht schlecht wenn leute sich mit einem langennamen anmelden.
-Maximal 6 Zeichen für nickname.
Fazit: Gutes Programm, nur design ist nicht so toll..
P.s Ich steige auf i-Chat um (von skype), da es leichter ist.
Mach weiter! -
-
Okay, wer von euch kann eigentlich noch lesen
Ich habe bereits eine stark überarbeitete Version. Ich lade sie euch mal hoch.
//EDIT:
Sodele.
Die FARunTime natürlich in .dll umbenennen (WARUM darf man keine DLLs anhängen ?!?) und alles in einen Ordner
es wird durch das Programm noch die Datei "userDB.ini" erzeugt. In dieser werden Nicknames mit Passwort (natürlich gehasht^^) und Rechten gespeichert.
Viel Spass damit
//EDIT 2:
Eingangspost bearbeitet. Download nun da als 7-zip.
Ich lasse die rohen Dateien mal oben - falls Jemand keinen Bock auf 7-zip hat.Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „FAtheone“ ()
-
-
Packe noch ne ZIP in den Eingangspost.
//EDIT:
Zwei "Probleme" gibt es:
1. Admin Shutdown flag ermöglicht auch das entfernen von Chat,Kick,Ban und Shutdown von Root-Usern - Also mit Bedacht vergeben.
2. Bei falschem Passwort (bei Anmeldung) _kann_ iChat abschmieren. Ursache noch nicht gefunden; es wird eine MessageBox mit Text "BOOM!" angezeigt. Löschen der userDB.ini und neustart des Servers löscht übrigens alle Accounts (bzw. betreffende Zeilen in der userDB entfernen entsprechende User. Die Letzte Zahl sind die flags. 31 ist root; 0 normal user dazwischen je nachdem.Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „FAtheone“ ()
-
-
-
Ähnliche Themen
-
Bowserkoopa - - Internet- und Netzwerkprogrammierung