Erstellt von Ann-Kathrine Buchmakowsky
vor mehr als 4 Jahre
|
||
Ein Netzwerk ist eine Struktur, bei der gleich(artige) bjekte über Kanten miteinander verbunden sind. Es gibt lokale und nicht lokale Netzwerke Lokales Netzwerk: z.B. Local Area Network (LAN) (500m Rreichweite) Nicht-lokales Netzwerk: Global Area Netwerk (GAN) (z.B. Internet)
Ein Netzwerk gleichgestellter Netzwerke ist ein Peer-To-Peer-Netzwerk (P2P). Alle rechner sind gleichberechtig und haben ähnliche Leistunsmöglichkeiten. Solch ein Netzwerk bedeutet einen hohen technischen und logistischen Aufwand.
Arbeitet ein Rechnernetzwerk Arbeitsteilig und gibt es spezialisierte Systeme/Rechner für spezielle Aufgaben, bezeichnet man dies als Client-Server-Modell.
Arbeitet ein Rechnernetzwerk Arbeitsteilig und gibt es spezialisierte Systeme/Rechner für spezielle Aufgaben, bezeichnet man dies als Client-Server-Modell. Ein Server ist ein Programm, welches Dienste zur Verfügung stellt. Ein Client ist ein Programm, das auf die Dienste eines Servers zugreifen kann.
In einem Client-Server-Modell stellt ein Client eine Anfrage zur Benutzung eines bestimmten Dienstes an den Server, der wiederum die Anfrage entgegennimmt, auswertet und den Client durch das Bereitstellen des gewünschten Dienstes bedient. Diese Kommunikation zwischen den beiden Rechnersystemen muss natürlich aufeinander abgestimmt sein: Es muss ein Protokoll geben, welches die Anfragen und Aufträge des Clients und die Rückgaben und Antworten des Servers strukturiert. Dabei muss das Porto coll so gestaltet sein, dass es alle Anwendungsfälle aufführt und mögliche Fehler auf der Clientseite behandelt.
Da die Serverklasse abstract ist, muss eine Unterklasse von Server zur Verwendung erstellt werden. In ihr müssen die drei Methoden processNewConnection, processMessage und processClosingConnection übersschrieben werden.
Besipiel: processNewConnection Client zu Server: ShopClient(String pServerIP, int pServerPort){ super(pServerIPpServerport); } Server zu Client: @Override public void processNewConnection(String pClientP, int pClientPort){ this.send("Willkommen"); }
Beispiel: processMessage Cleint zu Server: public void groesseFarbeWaehlen(String pGroesse, String pFarbe){ this.send("TSHIRT:" + pGroesse+ ":" +pFarbe); } Server an Client: @Override public void processMessage(String pClientIP, int pClientPort, String pMessage){ String[] nachrichtTeil = pMessage.split(":"); if(nachrichteTeil[0].equals("TSHIRT")){ //diese Bedingung wird für alle möglichen Anfragen des Clients an den Server bearbeitet. if(nachrichtenTeil.lenght() != 3){ this.send(pClientIP, pClientPort, "-ERR Angaben fehlen"); return; } String groesse,farbe; groesse = message[1] farbe = message[2]; if(groesse != null && farbe != null){ this.send(pClientIP, pClientPort, "+OK Groesse und Farbe gewählt."); return; } ... else if(nachrichtenTeil[0].equals("ABMELDEN")){ this.closeConnection(pClientIP, pClientport); } ... else{ //falls eine ANfrage an den Server gestellt wird, die nicht im Protokoll vogesehen ist. this.send(pClientIP, pClientPort, "-ERR ungueltige Eingabe"); } }
Besipiel processClosingConnection Server an Client: @Override public void processClosingConnection(String pClientIP, int pClientPort){ send(pClientIP, pClientPort, "-ERR Server geht aus"); }
In der Notiz zum Binären Suchbaum ist auch die Vererbung kurz erklärt.
Möchten Sie kostenlos Ihre eigenen Notizen mit GoConqr erstellen? Mehr erfahren.