Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 739
Aus It2010-g1
|
|
Zeile 1: |
Zeile 1: |
− | ==Generelle Einführung==
| + | #REDIRECT [[HWR-Chat: Client / Server]] |
− | Um eine sinnvolle und konsequente Clientverwaltung zu ermöglichen muss ein Server implementiert werden.
| + | |
− | Dieser Server kann zum einem die Client-Verbindungen verwalten, aber auch den gesamten Nachrichtenverkehr leiten.
| + | |
− | Es soll nur am Server die Möglichkeit geben Benutzer zu registrieren, da eine Benutzung von HWR-Fremden Personen ausgeschlossen werden soll.
| + | |
− | | + | |
− | ==Verbindungen zu anderen Modulen==
| + | |
− | | + | |
− | Um den Server betriebsbereit zu halten muss es eine Verbindung zu der Datenerhaltung geben. Diese umfasst zum einen das DatabaseDAO, in dem die Gesamte Datenbank verwaltet wird und das ServerDataDAO, das im Prinzip eine lokale, zur Laufzeit benutzbare, Datenstruktur bereitstellt, die vorher aus der Datenbank geladen wurde. Siehe auch [[HWR-Chat:_Server_Data_Access_Object_/_Konzept_der_Datenerhaltung]]
| + | |
− | | + | |
− | | + | |
− | Da auch am Server verschiedene Einstellungen zu tätigen sind, soll auch die Konfigurationsklasse aus dem COntroller Package benutzt werden.
| + | |
− | | + | |
− | | + | |
− | Zu dem gibt es eine TerminalKonsole die auf dem GUI-Framework SWT basiert, diese ist aus einem vorherigen Projekt übernommen und angepasst worden.
| + | |
− | | + | |
− | | + | |
− | ==Client-Handling==
| + | |
− | | + | |
− | | + | |
− | Der Server muss verschiedene Client-Anfragen managen und verwalten. Derr gesamte Prozess läuft folgendermaßen ab:
| + | |
− | Es wird auf Verbindungen gewartet, und zwar auf einem bestimmten Port, dem der Client bekannt sein muss. Die Routine (In diesem Thread) bleibt solange wartend/pausierend bis eine Verbindung registriert wurde.
| + | |
− | Wenn erfolgreich zum Server verbunden wurde, wird ein neuer Client-Thread eröffnet. Dieser Client Thread kann nun Java-Objekte auf dieser Verbindung empfangen (Auswertungslogik).
| + | |
− | Wird ein Anmeldung erfolgreich durchgeführt(Benutzername/Passwort richtig, nicht eingeloggt), wird dieser Client in eine Liste von Online Benutzern eingereiht. Soll nun ein ganz bestimmter Client angesprochen werrden (z.B. eine Textmessage soll an diesen Client versand werden) kann diese Liste dazu benutzt werden das NachrichtenObjekt an diesen Clienten zu leiten. Die Liste weiß zu jeder Zeit welcher Client über welche Verbindung verbunden ist.
| + | |
Aktuelle Version vom 10. November 2011, 09:30 Uhr