Betriebstechnik | Biographien | Biologie | Chemie | Deutsch | Digitaltechnik |
Electronica | Epochen | Fertigungstechnik | Gemeinschaftskunde | Geographie | Geschichte |
Informatik | Kultur | Kunst | Literatur | Management | Mathematik |
Medizin | Nachrichtentechnik | Philosophie | Physik | Politik | Projekt |
Psychologie | Recht | Sonstige | Sport | Technik | Wirtschaftskunde |
Ähnliche Berichte:
|
Projekte:
|
Papers in anderen sprachen:
|
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) / Grafikobjekt für 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 (Socket für 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
public ServerSocket( int port, int count ) throws IOException
// Anzahl akzeptierter Clients. Auswahl der Methoden
public InetAddress getInetAddress()
// eigene Internet-Adresse public int getLocalPort()
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()
public InputStream getInputStream() throws IOException
// Eingabestrom für die Datenübertragung
public OutputStream getOutputStream() throws IOException
// Ausgabestrom für 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
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 |