Block 4 PIK // Direkte Netzwerkprogrammierung (Sockets)

Description

Bachelor 3. Semester - Wirtschaftsinformatik - HSLU (Softwarekomponenten INM21) Flashcards on Block 4 PIK // Direkte Netzwerkprogrammierung (Sockets), created by bello17 on 29/12/2015.
bello17
Flashcards by bello17, updated more than 1 year ago
bello17
Created by bello17 over 8 years ago
12
1

Resource summary

Question Answer
Wie sieht das TCP / IP Protokollstack aus?
Was ist ein Socket? Socket ist ein Endpunkt in der Kommunikationsverbindung zwischen zwei kommunikationswilligen Prozessen
Welche zwei Socketarten gibt es? 1. Streamsockets (auch TCP-Sockets genannt) 2. Datagramsockets (auch UDP-Sockets genannt)
Was braucht es für die Herstellung einer Verbindung mit Sockets? - Host-Adresse (IP-Adresse) - Port-Nummer Durch die IP-Adresse und den Port wird ein Dienst auf einem Rechner eindeutig identifiziert. Auf einem Rechner können mehrere Sockets gleichzeitig offen sein
Wie sieht die Datenübertragung mit Sockets grafisch aus?
Was sind TCP-Sockets? Stellen Verbindungen zwischen zwei Programmen (Prozessen) her, welche sowohl auf einem gleichen als auch auf unterschiedlichen Rechnern ausgeführt werden können
Welches sind die Phasen der Datenübertragung? 1. Aufbau der Verbindung 2. Übertragung von Daten 3. Abbau der Verbindung
Wie werden die Daten übertragen? Daten, welche übertragen werden, werden in einen Datenstrom geschrieben, und am Zielort aus dem Datenstrom (in gleicher Reihenfolge) gelesen
Wie sieht die konkrette Implementierung von TCP-Sockets grafisch aus?
Wie funktioniert der Aufbau des Sockets Serverseitig? - Die Server-Anwendung muss einen Server-Socket erzeugen - Der Server-Socket wird an einen vorgegebenen Port gebunden - Der Server-Socket wartet, bis ein Client eine Verbindung aufbauen möchte
Wie funktioniert der Aufbau des Sockets Clientseitig? - Die Client-Anwendung erzeugt einen Client-Socket und versucht, eine Verbindung zum Server aufzubauen - Wenn die Verbindung vom Server akzeptiert wurde, können Server und Client Daten austauschen
Welche Voraussetzung muss gegeben sein, damit Client und Server miteinander kommunizieren können? Für den Austausch von Daten müssen Server und Client eine "gleiche Sprache" sprechen (Protokoll)
Wie sieht der Aufbau einer Verbindung mittels Sockets in einem Sequenzdiagramm aus?
Welche zwei Klassen stehen zur Verwendung von Sockets zur Verfügung? 1. java.net.ServerSocket (Serverseitig) 2. java.net.Socket (Clientseitig)
Welches sind die Konstruktoren des ServerSockets? - ServerSocket () throws IOException - ServerSocket (int port) throws IOException - ServerSocket (int port, int backlog) throws IOException
Welches sind die wichtigsten Methoden des ServerSockets? - void bind (SocketAdress endpoint) throws IOException - Socket accept () throws IOException - void close () throws IOException - InetAddress getInetAdress () - int getLocalPort ()
Welches sind die Konstruktoren des Sockets Clientseitig? - Socket ( ) - Socket ( InetAdress adress, int port) throws IOException - Socket ( String host, int port) throws IOException
Welches sind die wichtigsten Methoden des Sockets Clientseitig? - void bind (SocketAdress bindpoint ) throws IOException - void close ( ) throws IOException - void connect (SocketAdress endpoint, int timeout ) throws IOException - InetAdress getInetAdress ( ) - InputStream getInputStream ( ) throws IOException - OutputStream getOutputStream ( ) throws IOException - int getPort ( )
Wie wird ein ServerSocket erzeugt?
Wie kann an ServerSocket einen ClientSocket holen, wenn eine Verbindung gewünscht ist?
Wie kann der Serversocket Informationen über den Client ausgeben?
Wie kann nun Serverseitig ein InputStream vom Client holen?
Wie kann der Server nun die vom Client zugestellten Daten ausgeben?
Wie kann der Client mittels Socket eine Verbindung zum Serber aufbauen?
Wie lautet die Benachrichtigung des Clients, das die Verbindung hergestellt ist?
Wie kann der Client nun den OutputStream holen?
Wie kann der Client eine Meldung an den Server senden?
Wie kann die Verbindung seitens Clients geschlossen werden?
Was ist der Unterschied zwischen TCP-Sockets und UDP-Sockets? UDP-Sockets sind nicht verbindungsorientiert
Was sind UDP- Sockets? - Daten werden in Pakete geschrieben - Datenpakete könne maximal 8 KB gross sein - Grössere Nachrichten müssen in der Anwendung segmentiert bzw. reassembliert werden - Die Ankunft von Datenpaketen wird nicht bestätigt - Es kann passieren, dass manche Datenpakete nicht ans Ziel kommen
Welche zwei Klassen stehen bei UDP-Sockets zur Verfügung? 1. java.net.DatagramSocket (stellt den Socket zur Verfügung) 2. java.net.DatagramPacket (enthält die zu sendenden Daten)
Welches sind die Konstruktoren des DatagramSocket? - DatagramSocket( ) - DatagramSocket (int port) - DatagramSocket (int port, InetAddress iadr)
Welches sind die wichtigsten Methoden des DatagramSocket? - void bind (SocketAddres sadr) - void receive (DatagramPacket p) - void send (DatagramPacket p) - void disconnect ( )
Welches sind die Konstruktoren des DatagramPacket? - DatagramPacket (byte[] buf, int length) - DatagramPacket (byte[] buf, int length, InetAddres address, int port )
Welches sind die wesentlichen Methoden des DatagramPacket? - void setData (byte[] buf) - void setData(byte[] buf, int offset, int length) - byte[] getData ( ) - void setLength (int length) - int getLength (
Wie sieht der Code von UDP-Sockets serverseitig aus?
Wie sieht der Code von UDP-Sockets clientseitig aus?
Was ist ein Multicast? Bei einem Multicast wird die Nachricht an eine Gruppe bzw. alle Mitglieder dieser Gruppe in einem Schritt gesendet
Welche Klasse stellt Multicast zur Verfügung? Für die Multicast-Kommunikation stellt Java die Klasse java.net.MulticastSocket zur Verfügung
Welches sind die Konstruktoren des Multicast? MulticastSocket(int port)
Welches sind die wesentlichen Methoden des Multicast? - void joinGroup(InetAddress multicastAddr) - void leaveGroup(InetAddress multicastAddr) - void send(DatagramPacket p) - void receive(DatagramPacket p)
Wie sieht der Code beim Sender beim Multicast aus?
Wie sieht der Code beim Empfänger beim Multicast aus?
Was sind die Vorteile von Sockets? - sehr gute Performance - Protokolle können frei nach Bedarf implementiert werden, wodurch Anpassungen bzw. Optimierungen möglich sind
Was sind die Nachteile von Sockets? - Sockets eignen sich für reine Datenübertragung - Sockets sind nur die Schnittstelle zur Transportschicht - Bieten keine Unterstützung für Kommunikationssteuerung und Datendarstellung - Protokolle müssen auf der Anwendungsebene implementiert werden um Kommunikationspartner zu finden und Austausch von Nachrichten zu steuern - Eigenschaften der Transportschicht sind zu berücksichtigen (TCP/ UDP) - Programmierung relativ aufwendig und fehleranfällig
Auf der Server-Seite kann es nötig sein, mehrere Ausführungseinheiten (Threads) laufen zu lassen, um mehrere Clients "gleichzeitig" bedienen zu können. Dazu muss die Arbeit auf der Serverseite geteilt werden. Wie geschieht dies? der Hauptthread kümmert sich um Annahme der Anfrage, wonach die "Konversation" mit Clients von " Worker-Threads" übernommen wird
Wie viele Worker-Thread werden pro Client-Anfrage erzeugt? Pro Client-Anfrage wird ein Worker-Thread erzeugt, der sich um die Kommunikation mit dem Client eigenständig kümmert bzw. die Leistung für den Client erbringt
Wie sieht der Ablauf zum Erzeugen von Worker-Threads aus (Teil 1)? - Die Hauptklasse implementieren, in der der ServerSocket erzeugt und die gesamte Steuerung implementiert wird - Diese Klasse könnte "Server" genannt werden - Die Worker-Thread-Klasse implementieren, deren Instanzen die Leistungen für die Clients erbringen
Wie sieht der Ablauf zum Erzeugen von Worker-Threads aus (Teil 2)? - Den Server (Instanz der Hauptklasse) starten und eine Instanz der Klasse ServerSocket erzeugen - In einer Schleife die Methode accept auf der ServerSocket-Instanz aufrufen: der ServerSocket wartet, bis eine Anfrage kommt
Was geschieht wenn eine Anfrage kommt? Wenn eine Anfrage kommt - wird eine Worker-Thread-Instanz erzeugt und seine Ausführung gestartet - Je nach Kontext, können dem Konstruktor der Worker-ThreadKlasse auch Parameter übergeben werden (Referenz auf das Socket-Objekt, das von der Methode accept zurückgeliefert wurde, Referenz auf In- oder OutputStream des Sockets usw.)
Wie sieht der Ablauf zum Erzeugen von Worker-Threads aus (Teil 3)? - Ab dem Moment übernimmt die Worker-Thread-Instanz die Konversation mit dem Client - Der ServerSocket "geht zurück" und wartet auf die neue Anfrage, indem auf der ServerSocket-Instanz erneut die Methode accept aufgerufen wird - Das ganze wiederholt sich so lange, bis die ServerSocketInstanz aus der Schleife rauskommt (die Frage der Implementierung)
Show full summary Hide full summary

Similar

Project Management Integration
craigmag
USA stock market collapse
Emily Tisch
Religious Studies Key Concepts
Keera
Psychology Exam review
emaw757
OCR AS Biology
joshbrown3397
AQA AS Biology Unit 2 DNA and Meiosis
elliedee
The Great Gatsby - Aspects of Narrative
Sophie Beckingham
GCSE REVISION TIMETABLE
nimraa422
Science Revision - Year 10
Caitlin Kumala
Relationships in A Streetcar Named Desire
Emily Garvin-Howard
BM 13 - COMENIUS, HERBART, DEWEY, HÖNIGSWALD
christoph wimmer