AZreferate - Referate und hausaufgaben fur schule.
Referatesuche, Hausarbeiten und Seminararbeiten Kostenlose Online-Dokumente mit Bildern, Formeln und Grafiken. Referate, Facharbeiten, Hausarbeiten und Seminararbeiten findest für Ihre einfache Hausarbeiten.



BetriebstechnikBiographienBiologieChemieDeutschDigitaltechnik
ElectronicaEpochenFertigungstechnikGemeinschaftskundeGeographieGeschichte
InformatikKulturKunstLiteraturManagementMathematik
MedizinNachrichtentechnikPhilosophiePhysikPolitikProjekt
PsychologieRechtSonstigeSportTechnikWirtschaftskunde

Referat JAVA - java.applet.Applet - Socket

informatik referate

informatik referate

JAVA

java applet.Applet

Die grundlegenden Methoden zur Steuerung eines Applets sind:

init() Diese Methode ruft der Browser sofort nach dem Konstruktor des Applets auf.

Sie dient der Initialisierung der verwendeten Daten.

start() Nach der Initialisierung des Applets ruft der Browser diese Methode auf.

Diesen  Aufruf wiederholt er nach jedem erneuten Laden der Applet-Seite ohne dann jedoch zuvor init() auszuführen.

stop() Beim Verlassen der Seite und vor dem Beenden des Browsers arbeitet er die Methode            stop() ab. destroy() Methode soll das Applet vollständig löschen.

Mit der Methode getAppletContext() kann man unerwünschte Wirkungen hervorrufen.

// Datei jf/kapitel4/abschnitt4/LookAtMeApplet.java public class LookAtMeApplet extends Applet

catch( java.net.MalformedURLException e )


Bindet man das Applet in eine Seite ein, so wird tatsächlich ThisIsWhatYouGet.htm geladen.

Hier ein weiteres applet mit einer Zeichenfläche (canvas)

import java.applet.*;

import java.awt.*;

import java.awt.image.*; import java.lang.Boolean; import java.net.*;

public class AppTest extends java.applet.Applet

public void start()

public void stop()

public void destroy()

public void Info ()

public void paint(Graphics g) / Grafikobjektr Zeichenfläche



Aufruf des applets über HTML

<CENTER><STRONG><H1> Applet </H1></STRONG></CENTER>

<HR>

<APPLET Code='AppTest.class'Width=400 Height=200>

<param NAME='height' VALUE=200>

<param NAME='width' VALUE=400>

<param NAME='message' VALUE='AppletTest'>

<param NAME='display' VALUE=true>

</APPLET>

java.net.Socket

In   der    Programmierung           unter Unix sind         Sockets           ein       übliches Mittel           zur       Herstellung                 von

Kommunikationsverbindungen zwischen Prozessen auf möglicherweise verschiedenen Rechnern.

Sockets abstrahieren dabei von dem konkreten Übertragungsprotokoll (TCP/IP, UDP/IP), der Programmierer muss sich lediglich an einen bestimmten Ablauf beim Verbindungsauf- und -abbau halten.

Die wichtigsten Klassen sind InetAddress (Internet-Adresse), ServerSocket (Socket für den Server in einer

Client-Server-Verbindung),  Socket (Socketr den Client) und URL (Repräsentation eines URL-Objekts).

In einer TCP-Verbindung übernimmt ein Prozess die Rolle des Servers und ein anderer die Rolle des Clients. Der Server öffnet einen Socket (open), bindet eine lokale Adresse (bind), spezifiziert die Anzahl der gleichzeitig zu bearbeitenden Clients (listen) und wartet dann auf Clients (select und accept). Ein Client öffnet ebenfalls einen Socket (open) und verbindet diesen dann mit der Adresse des Servers (connect). Im Erfolgsfall ist nach diesem Procedere zwischen Server und Client eine Verbindung hergestellt, über die sie Nachrichten austauschen können.

public final class ServerSocket extends Object

Konstruktoren

public ServerSocket( int port ) throws IOException

Lokaler Port, unter dem der Server zu erreichen ist.

public ServerSocket( int port, int count ) throws IOException

// Anzahl akzeptierter Clients. Auswahl der Methoden

public InetAddress getInetAddress()

// eigene Internet-Adresse public int getLocalPort()

eigener Port

public Socket accept() throws IOException

// Akzeptieren von Clients

public void close() throws IOException

// Schliessen der Verbindung

Ein Objekt der Klasse ServerSocket wird in einer Endlosschleife mit accept() auf Clients warten. Meldet sich ein Client an, so kann der Server den von accept() zur ckgegebenen Socket zum Nachrichtenaustausch mit dem Client verwenden und dessen Anforderung bearbeiten.  Für die Bearbeitung startet der Server im allgemeinen einen eigenen Thread, damit er gleichzeitig auf weitere Clients warten kann.

Die Klasse Socket definiert die eigentliche Übertragungsfunktionalität, indem sie Ein- und Ausgabeströme nach aussen reicht.

public final class Socket extends Object

Auswahl der Konstruktoren

public Socket( String host, int port )

throws UnknownHostException, IOException

// Verbindungsaufbau zu einem Server auf dem Rechner host am Port port public Socket( InetAddress address, int port ) throws IOException

// Verbindungsaufbau über die Internet-Adresse

Auswahl der Methoden

public InetAddress getInetAddress()

// Internet-Adresse des Servers public int getPort()

// Port des Servers public int getLocalPort()

eigener Port

public InputStream getInputStream() throws IOException

// Eingabestromr die Datenübertragung

public OutputStream getOutputStream() throws IOException

// Ausgabestromr die Datenübertragung

public synchronized void close() throws IOException

// Verbindungsabbau

In dem kleinen Beispiel sendet der Server jede vom Client erhaltene Zeile umgehend gespiegelt zurück. Er nutzt dazu die Klasse jf.kapitel3.abschnittStringMirror.

public class EchoServer

public void start()

Ein Objekt der Klasse   EchoService liest Bytes vom Client, wandelt sie in eine Zeichenkette, vertauscht die

Reihenfolge der Buchstaben und sendet das Ergebnis als Bytes zurück.

class EchoService extends Thread

public void run()


Der gerade akzeptierte Client wird in einem parallelen Thread bedient. Der Server kann durch die

Verwendung von Threads also mehrere Clients gleichzeitig bearbeiten.

An dieser Stelle sei noch einmal darauf verwiesen, dass Applets in NetScape nur Socket-Verbindungen zu dem Rechner aufbauen dürfen, von dem die Seite geladen wurde.

Der folgende Client funktioniert also nur, wenn der Echo-Server auf demselben Rechner gestartet wird, von dem die HTML-Seite stammt.

Unter linux sind sockets im Normalfall nicht offen.  Die Beispiele funktionieren nur, wenn man sie als

Superuser startet.

// Datei jf/kapitel5/abschnitt4/EchoClientApplet.java public class EchoClientApplet extends Applet

implements ActionListener

public void start()

catch ( UnknownHostException e )

catch ( IOException e )


public void stop()

catch ( IOException e )

socket = null; in = null; out = null;


public void actionPerformed( ActionEvent actionEvent ) {

if ( socket = null ) {

try {

String line = iTF.getText();

int readLength =

out.write( line.getBytes(), , line.length() ;

readLength = in.read( buffer

oTF.setText( new String( buffer, , readLength );

3 java.net.URL

Eine komfortable Klasse zum Datenaustausch im World W ide  Web ist die  Klasse URL. Mit ihr können entfernte World Wide Web-Dateien oder Server (z.B. ftp) adressiert, gelesen und ausgewertet werden.

public final class URL extends Object

Konstruktoren

public URL( String prot, String host, int port, String file )

throws MalformedURLException

// URL-Adresse in Komponenten

public URL( String protocol, String host, String file )

throws MalformedURLException

// Standard-Port

public URL( String spec ) throws MalformedURLException

// URL-Adresse als String

public URL( URL context, String spec ) throws MalformedURLException

// Hierarchie

Auswahl der Methoden public int getPort()

Port der URL-Adresse public String getProtocol()

// Protokoll der URL-Adresse

public String getHost()

// Host der URL-Adresse public String getFile()

// Dateiname

public URLConnection openConnection() throws IOException

// Verbindungsaufbau

public final InputStream openStream() throws IOException

// Eingabestrom

public final Object getContent() throws IOException

// Inhalt

Als Abschlußbeispiel soll ein Programm dienen, mit dem man von der Kommandozeile aus WWW-Seiten abfragen kann. Diese werden im Quelltextformat angezeigt.

// Datei jf/kapitel5/abschnitt4/ShowUrl.java

URL url = new URL( args[ 0 ] ); BufferedReader in = new BufferedReader(

new InputStreamReader(

url.openStream( );

String line = null;

while (( line = in.readLine()) = null ) System.out.println( line

Übung java-URL:

Entwerfen Sie ein Applet, das die Zugriffe auf die eigene WWW-Seite zählt.

Es soll sich dazu einer Zählerdatei auf dem W WW-Server bedienen. Diese Zählerdatei soll durch ein CGI- Programm in C aktualisiert werden.

Das Applet soll einen Button besitzen, mit dem der Zählerstand erhöht wird. Dazu muss das CGI- Programm aus dem JAVA-Applet heraus aktiviert werden. /Java bis in Detail S 5 4-6 2/

Dazu muss ein Socket auf den WWW-Server und dem Port 0 geöffnet werden. Über diesen Socket muss zuerst das Script aufgerufen werden und anschließend die Daten empfangen werden.

In einer Textarea sollen alle Zeilen aus der Log-Datei des Servers, die diese Seite betreffen, aufgelistet werden.



Referate über:


Datenschutz




Copyright © 2024 - Alle Rechte vorbehalten
AZreferate.com
Verwenden sie diese referate ihre eigene arbeit zu schaffen. Kopieren oder herunterladen nicht einfach diese
# Hauptseite # Kontact / Impressum