Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Vorhergehendes Paket   Seite Zurück   Seite Vor   Nächstes Paket   Paketübersicht   Index

Klasse java.net.DatagramSocket1.0

java.lang.Object
   |
   +--java.net.DatagramSocket

Deklaration

public class DatagramSocket
extends java.lang.Object

Beschreibung

Diese Klasse implementiert einen UDP-Socket zum Austausch von Datagrammpaketen. Seit Version 1.2 kann eine »Verbindung« zur entfernten Adresse definiert werden, wodurch alle Pakete automatisch an diese Adresse geschickt werden.


 
Konstruktoren
publicDatagramSocket()
publicDatagramSocket(int port)
publicDatagramSocket(int port, InetAddress laddr)     [1.1]
publicDatagramSocket(SocketAddress addr)     [1.4]
 
Methoden
public voidbind(SocketAddress addr)     [1.4]
public voidclose()
public voidconnect(InetAddress laddr, int port)     [1.2]
public voidconnect(SocketAddress addr)     [1.2]
public voiddisconnect()     [1.2]
public booleangetBroadcast()     [1.4]
public DatagramChannelgetChannel()     [1.4]
public InetAddressgetInetAddress()     [1.2]
public InetAddressgetLocalAddress()     [1.1]
public intgetLocalPort()
public SocketAddressgetLocalSocketAddress()     [1.4]
public intgetPort()     [1.2]
public synchronized intgetReceiveBufferSize()     [1.2]
public SocketAddressgetRemoteSocketAddress()     [1.4]
public booleangetReuseAddress()     [1.4]
public synchronized intgetSendBufferSize()     [1.2]
public synchronized intgetSoTimeout()     [1.1]
public intgetTrafficClass()     [1.4]
public booleanisBound()     [1.4]
public booleanisConnected()     [1.4]
public synchronized voidreceive(DatagramPacket p)
public voidsend(DatagramPacket p)
public voidsetBroadcast(boolean on)     [1.4]
public static voidsetDatagramSocketImplFactory(DatagramSocketImplFactory fac)     [1.4]
public synchronized intsetReceiveBufferSize(int size)     [1.2]
public synchronized intsetReuseAddress(boolean on)     [1.4]
public synchronized intsetSendBufferSize(int size)     [1.2]
public synchronized voidsetSoTimeout(int timeout)     [1.1]
public voidsetTrafficClass(int tc)     [1.4]


 

Konstruktoren im Detail

public DatagramSocket()
Erzeugt einen neuen UDP-Socket, der an einem beliebigen lokalen Port angeschlossen ist.
Exception: SocketException
public DatagramSocket(int port)
Erzeugt einen neuen UDP-Socket, der am lokalen Port port angeschlossen ist.
Exception: SocketException
Exception: IllegalArgumentException
public DatagramSocket(int port, InetAddress laddr)     [1.1]
Erzeugt einen neuen UDP-Socket, der an der lokalen Adresse laddr und dem Port port angeschlossen ist.
Exception: SocketException
Exception: IllegalArgumentException
public DatagramSocket(SocketAddress addr)     [1.4]
Erzeugt einen neuen UDP-Socket, der an der lokalen Adresse addr angeschlossen ist.
Exception: SocketException

 

Methoden im Detail

public void bind(SocketAddress addr)     [1.4]
Bindet den Socket an die übergebene lokale Adresse. Wird null übergeben, wird ein beliebiger freier Port gewählt.
public void close()
Schließt den Socket.
public void connect(InetAddress laddr, int port)     [1.2]
Verbindet den Socket an die übergebene Zieladresse. Verbinden heißt hier, daß Datagramme über diesen Socket nur an diese Adresse geschickt bzw. nur von dieser Adresse empfangen werden können.
public void connect(SocketAddress addr)     [1.2]
Verbindet den Socket an die übergebene Zieladresse. Verbinden heißt hier, daß Datagramme über diesen Socket nur an diese Adresse geschickt bzw. nur von dieser Adresse empfangen werden können.
public void disconnect()     [1.2]
Hebt die Verbindung wieder auf.
public boolean getBroadcast()     [1.4]
Liefert true, falls Broadcasting bei dem Socket aktiviert ist, sonst false.
public DatagramChannel getChannel()     [1.4]
Liefert das Channel-Objekt für den Socket zurück. Falls noch kein Channel besteht, ist der Rückgabewert null.
public InetAddress getInetAddress()     [1.2]
Liefert die entfernte Adresse, mit der der UDP-Socket verbunden ist. Der Rückgabewert ist null, falls der Socket mit keiner Adresse verbunden ist (d. h., connect() wurde noch nicht aufgerufen).
public InetAddress getLocalAddress()     [1.1]
Liefert die lokale Adresse, an die der UDP-Socket angeschlossen ist.
public int getLocalPort()
Liefert die Nummer des lokalen Ports, an dem der UDP-Socket angeschlossen ist.
public SocketAddress getLocalSocketAddress()     [1.4]
Liefert die Adresse und die Portnummer zurück, an die der Socket lokal gebunden ist. Ist der Socket noch nicht gebunden, ist der Rückgabewert null.
public int getPort()     [1.2]
Liefert den entfernten Port, mit dem der UDP-Socket verbunden ist. Der Rückgabewert ist -1, falls der Socket mit keiner Adresse verbunden ist (d. h., connect() wurde noch nicht aufgerufen).
public synchronized int getReceiveBufferSize()     [1.2]
Liefert die Größe des Empfangspuffers zurück.
Exception: SocketException
public SocketAddress getRemoteSocketAddress()     [1.4]
Liefert die Adresse und die Portnummer zurück, an die der Socket entfernt gebunden ist. Ist der Socket noch nicht gebunden, ist der Rückgabewert null.
public boolean getReuseAddress()     [1.4]
Liefert true, falls die Option SO_REUSEADDR bei diesem Socket gesetzt ist, sonst false.
public synchronized int getSendBufferSize()     [1.2]
Liefert die Größe des Sendepuffers zurück.
Exception: SocketException
public synchronized int getSoTimeout()     [1.1]
Liefert den Timeout beim Empfangen. Der Wert null signalisiert einen unendlichen Timeout.
Exception: SocketException
public int getTrafficClass()     [1.4]
Liefert den Wert des Type-Of-Service-Felds im IP-Header zurück.
public boolean isBound()     [1.4]
Liefert true, falls der Socket bereits an eine lokale Adresse gebunden ist, sonst false.
public boolean isConnected()     [1.4]
Liefert true, falls der Socket bereits mit einer Zieladresse verbunden ist, sonst false.
public synchronized void receive(DatagramPacket p)
Empfängt ein Paket über den Socket und trägt es in p ein, wobei die Daten gegebenenfalls auf die Pufferlänge von p gekürzt werden (der Rest wird verworfen). Diese Methode blockiert so lange, bis ein Paket empfangen wird. Das Paket enthält Adresse und Port-Nummer des Absenders. Falls ein SecurityManager installiert ist, werden alle eingehenden Pakete verworfen, die von Host/Port-Kombinationen stammen, die der SecurityManager nicht erlaubt.
Exception: IOException
public void send(DatagramPacket p)
Sendet das Datagrammpaket p an die in p eingetragene Adresse. Falls ein SecurityManager installiert ist, wird zunächst geprüft, ob Pakete an die spezifizierte Adresse erlaubt sind (SecurityManager.checkConnect()). Falls es sich um eine Multicast-Adresse handelt, wird geprüft, ob Multicasting zulässig ist (SecurityManager.checkMulticast()).
Exception: IOException
public void setBroadcast(boolean on)     [1.4]
Stellt in Abhängigkeit von on Broadcasting ein.
Exception: SocketException
public static void setDatagramSocketImplFactory(DatagramSocketImplFactory fac)     [1.4]
Setzt das Fabrik-Objekt zur Erzeugung neuer Exemplare auf fac.
Exception: IOException
public synchronized int setReceiveBufferSize(int size)     [1.2]
Setzt die Größe des Empfangspuffers auf size Bytes.
Exception: SocketException
Exception: IllegalArgumentException
public synchronized int setReuseAddress(boolean on)     [1.4]
Stellt in Abhängigkeit von on die SO_REUSEADDR-Option für den Socket ein.
Exception: SocketException
public synchronized int setSendBufferSize(int size)     [1.2]
Setzt die Größe des Sendepuffers auf size Bytes.
Exception: SocketException
Exception: IllegalArgumentException
public synchronized void setSoTimeout(int timeout)     [1.1]
Mit dieser Methode wird ein Timeout von timeout Millisekunden für die Methode receive() eingestellt. Falls innerhalb dieser Zeit kein Paket empfangen wird, kehrt die receice() mit einer Exception zurück. Mit dem Wert 0 (Voreinstellung) wird ein unendlicher Timeout spezifiziert.
Exception: SocketException
Exception: InterruptedIOException
public void setTrafficClass(int tc)     [1.4]
Setzt das Type-Of-Service-Feld im IP-Header auf tc. die Größe des Sendepuffers auf size Bytes.
Exception: SocketException


 Inhaltsverzeichnis   Vorhergehendes Paket   Seite Zurück   Seite Vor   Nächstes Paket   Paketübersicht   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.