<br />
<b>Warning</b>:  preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in <b>/www/htdocs/w0102873/mediawiki/includes/MagicWord.php</b> on line <b>739</b><br />
<br />
<b>Warning</b>:  preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in <b>/www/htdocs/w0102873/mediawiki/includes/MagicWord.php</b> on line <b>739</b><br />
<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://p-servus.net/mediawiki/skins/common/feed.css?301"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://p-servus.net/mediawiki/index.php?action=history&amp;feed=atom&amp;title=HWR-Chat%3A_Server_%2F_Server</id>
		<title>HWR-Chat: Server / Server - Versionsgeschichte</title>
		<link rel="self" type="application/atom+xml" href="https://p-servus.net/mediawiki/index.php?action=history&amp;feed=atom&amp;title=HWR-Chat%3A_Server_%2F_Server"/>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=HWR-Chat:_Server_/_Server&amp;action=history"/>
		<updated>2026-08-12T04:06:59Z</updated>
		<subtitle>Versionsgeschichte dieser Seite in It2010-g1</subtitle>
		<generator>MediaWiki 1.17.0</generator>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=HWR-Chat:_Server_/_Server&amp;diff=425&amp;oldid=prev</id>
		<title>Jonw: Weiterleitung auf HWR-Chat: Client / Server erstellt</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=HWR-Chat:_Server_/_Server&amp;diff=425&amp;oldid=prev"/>
				<updated>2011-11-10T09:30:17Z</updated>
		
		<summary type="html">&lt;p&gt;Weiterleitung auf &lt;a href=&quot;/mediawiki/index.php?title=HWR-Chat:_Client_/_Server&quot; title=&quot;HWR-Chat: Client / Server&quot;&gt;HWR-Chat: Client / Server&lt;/a&gt; erstellt&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Nächstältere Version&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Version vom 10. November 2011, 09:30 Uhr&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;==Generelle Einführung==&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;#REDIRECT &lt;/ins&gt;[[HWR-Chat: &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Client &lt;/ins&gt;/ &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Server&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Um eine sinnvolle und konsequente Clientverwaltung zu ermöglichen muss ein Server implementiert werden.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Dieser Server kann zum einem die Client-Verbindungen verwalten, aber auch den gesamten Nachrichtenverkehr leiten.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Es soll nur am Server die Möglichkeit geben Benutzer zu registrieren, da eine Benutzung von HWR-Fremden Personen ausgeschlossen werden soll.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;==Verbindungen zu anderen Modulen==&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;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 &lt;/del&gt;[[HWR-Chat:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;_Server_Data_Access_Object_&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;_Konzept_der_Datenerhaltung&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Da auch am Server verschiedene Einstellungen zu tätigen sind, soll auch die Konfigurationsklasse aus dem COntroller Package benutzt werden.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Zu dem gibt es eine TerminalKonsole die auf dem GUI-Framework SWT basiert, diese ist aus einem vorherigen Projekt übernommen und angepasst worden.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;==Client-Handling==&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Der Server muss verschiedene Client-Anfragen managen und verwalten. Derr gesamte Prozess läuft folgendermaßen ab:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;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. &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;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).&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;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.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;==Auswertungslogik==&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Der Server empfängt generell nur AMessage Objekte. In einer Routine werden ankommende Objekte auf ihre echte Instanz hin überprüft (in Java mit instanceof). Je nach ObjektTyp werden nun andere Aktionen ausgeführt.&amp;#160; Es werden entweder nur interne Daten geändert, Nachrichten weitergeleitet, oder auch beides.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;==Was passiert bei welchen Nachrichten?==&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Der Server empfängt eine Nachricht und diese ist vom Typ:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;*Textmessage: Die Nachricht wird einfach an den Empfänger weitergeleitet, ist dieser nicht online wird die Nachricht in eine Offline-Message Verwaltung eingereiht. Eine Textmessage kann auch an eine Gruppe gerichtet sein, die entsprechenden User werden vorher rausgesucht.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;*LoginRequest: Die Parameter aus der Nachricht werden abgegelichen mit den aktuellen User-Daten, sollte das Password nicht stimmen, der Nutzername falsch sein, oder die Person bereits online sein, wird die LoginRequestMessage mit einer Fehlermeldung bestückt und wieder zurück geschickt. Ist alles korrekt wird der Benutzer am Server registriert, und dem ClientHandling-System hinzugefügt (Welcher Benutzer ist Online, Welcher Benutzer ist auf welcher Verbindung verbunden. Dannach wird die LoginRequestMessage zurückgesand mit dem aktuellen User-Objekt als Attribut. Sollten offline Messages anstehen, werden diese nacheinander verschickt. Als letzten Schritt werden alle Freunde des neu angemeldeten Clients über eine Nachricht darüber verständigt, dass der Benutzer nun Online ist.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;*RequestMessages (DateiVersandRequest, Freundschaftsrequest): Bei bestimmten Anfragen wird auch eine Rückantwort bzw. Bestätigung benötigt. Über Attribute (die der Client setzt) werden diese Zustände erkannt und bearbeitet. Bei einer Freundschaftsanfrage werden bei einem angenommenen Zustand die Benutzerbeziehungen in die Datenbank eingetragen, bei der Dateiversandsanfrage werden die benötigten Verbinungsdaten eingetragen(Ip-Adresse)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;...Es gibt noch mehr Messages, die nach ähnlichen Prinzipien ausgewertet werden. Die obere Übersicht soll nur das Prinzip verdeutlichen.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Jonw</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=HWR-Chat:_Server_/_Server&amp;diff=424&amp;oldid=prev</id>
		<title>Jonw: /* Verbindungen zu anderen Modulen */</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=HWR-Chat:_Server_/_Server&amp;diff=424&amp;oldid=prev"/>
				<updated>2011-11-10T09:29:16Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Verbindungen zu anderen Modulen&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Nächstältere Version&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Version vom 10. November 2011, 09:29 Uhr&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;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]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;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]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Da auch am Server verschiedene Einstellungen zu tätigen sind, soll auch die Konfigurationsklasse aus dem COntroller Package benutzt werden.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Da auch am Server verschiedene Einstellungen zu tätigen sind, soll auch die Konfigurationsklasse aus dem COntroller Package benutzt werden.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Zu dem gibt es eine TerminalKonsole die auf dem GUI-Framework SWT basiert, diese ist aus einem vorherigen Projekt übernommen und angepasst worden.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Zu dem gibt es eine TerminalKonsole die auf dem GUI-Framework SWT basiert, diese ist aus einem vorherigen Projekt übernommen und angepasst worden.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Client-Handling==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Client-Handling==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Jonw</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=HWR-Chat:_Server_/_Server&amp;diff=406&amp;oldid=prev</id>
		<title>Bepf am 10. November 2011 um 08:53 Uhr</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=HWR-Chat:_Server_/_Server&amp;diff=406&amp;oldid=prev"/>
				<updated>2011-11-10T08:53:20Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Nächstältere Version&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Version vom 10. November 2011, 08:53 Uhr&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 22:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 22:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;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).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;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).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;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.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;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.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;==Auswertungslogik==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Der Server empfängt generell nur AMessage Objekte. In einer Routine werden ankommende Objekte auf ihre echte Instanz hin überprüft (in Java mit instanceof). Je nach ObjektTyp werden nun andere Aktionen ausgeführt.&amp;#160; Es werden entweder nur interne Daten geändert, Nachrichten weitergeleitet, oder auch beides.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;==Was passiert bei welchen Nachrichten?==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Der Server empfängt eine Nachricht und diese ist vom Typ:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;*Textmessage: Die Nachricht wird einfach an den Empfänger weitergeleitet, ist dieser nicht online wird die Nachricht in eine Offline-Message Verwaltung eingereiht. Eine Textmessage kann auch an eine Gruppe gerichtet sein, die entsprechenden User werden vorher rausgesucht.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;*LoginRequest: Die Parameter aus der Nachricht werden abgegelichen mit den aktuellen User-Daten, sollte das Password nicht stimmen, der Nutzername falsch sein, oder die Person bereits online sein, wird die LoginRequestMessage mit einer Fehlermeldung bestückt und wieder zurück geschickt. Ist alles korrekt wird der Benutzer am Server registriert, und dem ClientHandling-System hinzugefügt (Welcher Benutzer ist Online, Welcher Benutzer ist auf welcher Verbindung verbunden. Dannach wird die LoginRequestMessage zurückgesand mit dem aktuellen User-Objekt als Attribut. Sollten offline Messages anstehen, werden diese nacheinander verschickt. Als letzten Schritt werden alle Freunde des neu angemeldeten Clients über eine Nachricht darüber verständigt, dass der Benutzer nun Online ist.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;*RequestMessages (DateiVersandRequest, Freundschaftsrequest): Bei bestimmten Anfragen wird auch eine Rückantwort bzw. Bestätigung benötigt. Über Attribute (die der Client setzt) werden diese Zustände erkannt und bearbeitet. Bei einer Freundschaftsanfrage werden bei einem angenommenen Zustand die Benutzerbeziehungen in die Datenbank eingetragen, bei der Dateiversandsanfrage werden die benötigten Verbinungsdaten eingetragen(Ip-Adresse)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;...Es gibt noch mehr Messages, die nach ähnlichen Prinzipien ausgewertet werden. Die obere Übersicht soll nur das Prinzip verdeutlichen.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=HWR-Chat:_Server_/_Server&amp;diff=191&amp;oldid=prev</id>
		<title>Admin: 1 Version: Eine alte Version der Wiki ist hier her gezogen (3)</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=HWR-Chat:_Server_/_Server&amp;diff=191&amp;oldid=prev"/>
				<updated>2011-11-06T17:56:30Z</updated>
		
		<summary type="html">&lt;p&gt;1 Version: Eine alte Version der Wiki ist hier her gezogen (3)&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;← Nächstältere Version&lt;/td&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;Version vom 6. November 2011, 17:56 Uhr&lt;/td&gt;
		&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=HWR-Chat:_Server_/_Server&amp;diff=190&amp;oldid=prev</id>
		<title>Bepf: Die Seite wurde neu angelegt: „==Generelle Einführung== Um eine sinnvolle und konsequente Clientverwaltung zu ermöglichen muss ein Server implementiert werden. Dieser Server kann zum einem di…“</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=HWR-Chat:_Server_/_Server&amp;diff=190&amp;oldid=prev"/>
				<updated>2011-11-01T11:21:06Z</updated>
		
		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „==Generelle Einführung== Um eine sinnvolle und konsequente Clientverwaltung zu ermöglichen muss ein Server implementiert werden. Dieser Server kann zum einem di…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Generelle Einführung==&lt;br /&gt;
Um eine sinnvolle und konsequente Clientverwaltung zu ermöglichen muss ein Server implementiert werden.&lt;br /&gt;
Dieser Server kann zum einem die Client-Verbindungen verwalten, aber auch den gesamten Nachrichtenverkehr leiten.&lt;br /&gt;
Es soll nur am Server die Möglichkeit geben Benutzer zu registrieren, da eine Benutzung von HWR-Fremden Personen ausgeschlossen werden soll.&lt;br /&gt;
&lt;br /&gt;
==Verbindungen zu anderen Modulen==&lt;br /&gt;
&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Da auch am Server verschiedene Einstellungen zu tätigen sind, soll auch die Konfigurationsklasse aus dem COntroller Package benutzt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zu dem gibt es eine TerminalKonsole die auf dem GUI-Framework SWT basiert, diese ist aus einem vorherigen Projekt übernommen und angepasst worden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Client-Handling==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Server muss verschiedene Client-Anfragen managen und verwalten. Derr gesamte Prozess läuft folgendermaßen ab:&lt;br /&gt;
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. &lt;br /&gt;
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).&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	</feed>