全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス
クラス java.net.DatagramSocket
java.lang.Object
|
+----java.net.DatagramSocket
- public class DatagramSocket
- extends Object
このクラスは、データグラムを送受信するためのソケットを表します。
データグラムソケットとは、無接続のパケット配布サービスの送信点または受信点です。データグラムソケット上で送信または受信する各パケットは、それぞれ異なるアドレスで経路指定されます。あるマシンから別のマシンに複数のパケットを送信する場合、各パケットは異なる経路で送信される可能性があり、宛先には無作為の順序で到達する可能性があります。
- 参照:
- DatagramPacket
-
DatagramSocket()
- データグラムソケットを作成し、ローカルホストマシン上の使用可能なポートに結合する。
-
DatagramSocket(int)
- データグラムソケットを作成し、ローカルホストマシン上の指定のポートに結合する。
-
DatagramSocket(int, InetAddress)
- 指定したローカルアドレスに結合されたデータグラムソケットを作成する。
-
close()
- このデータグラムソケットをクローズする。
-
getLocalAddress()
- ソケットの結合先のローカルアドレスを取得する。
-
getLocalPort()
- このソケットの結合先のローカルホスト上のポート番号を返す。
-
getSoTimeout()
- SO_TIMEOUT の設定を取得する。
-
receive(DatagramPacket)
- このソケットからデータグラムパケットを受け取る。
-
send(DatagramPacket)
- このソケットからデータグラムパケットを送信する。
-
setSoTimeout(int)
- 指定した待ち時間の値 (ミリ秒単位) をもつ SO_TIMEOUT を有効または無効にする。
DatagramSocket
public DatagramSocket() throws SocketException
- データグラムソケットを作成し、ローカルホスト上の使用可能なポートに結合します。
- 例外 : SocketException
- ソケットを開くことができなかった、または指定のローカルポートにソケットを結合できなかった
DatagramSocket
public DatagramSocket(int port) throws SocketException
- データグラムソケットを作成し、それをローカルホストマシン上の指定のポートに結合します。
- パラメータ:
- local - 使用するポート
- 例外 : SocketException
- ソケットを開くことができなかった、または指定のローカルポートにソケットを結合できなかった
DatagramSocket
public DatagramSocket(int port,
InetAddress laddr) throws SocketException
- 指定のローカルアドレスに結合されたデータグラムソケットを作成します。ローカルポートは、0 以上 65535 以下の範囲で指定します。
- パラメータ:
- port - 使用するローカルポート
- laddr - 結合先のローカルアドレス
send
public void send(DatagramPacket p) throws IOException
- このソケットからデータグラムパケットを送信します。
DatagramPacket
には、送信するデータ、その長さ、リモートホストの IP アドレス、リモートホスト上のポート番号を表す情報が含まれています。
- パラメータ:
- p - 送信する
DatagramPacket
- 例外 : IOException
- I/O エラーが発生した
- 参照:
- DatagramPacket
receive
public synchronized void receive(DatagramPacket p) throws IOException
- このソケットからデータグラムパケットを受け取ります。このメソッドが終了すると、
DatagramPacket
のバッファに受信したデータが保存されます。データグラムパケットにも、送信側の IP アドレス、送信元マシンのポート番号が含まれています。
このメソッドは、データグラムを受信するまでは戻りません。データグラムパケットオブジェクトの length
フィールドには、受信メッセージの長さが含まれます。受信したメッセージがバッファサイズよりも大きい場合は、メッセージの、入りきらない分が切り捨てられます。
- パラメータ:
- p - 受信したデータを保存する
DatagramPacket
- 例外 : IOException
- I/O エラーが発生した
- 参照:
- DatagramPacket, DatagramSocket
getLocalAddress
public InetAddress getLocalAddress()
- ソケットの結合先のローカルアドレスを取得します。
getLocalPort
public int getLocalPort()
- このソケットの結合先のローカルホスト上のポート番号を返します。
- 返り値:
- ローカルホスト上にあるこのソケットの結合先のポート番号
setSoTimeout
public synchronized void setSoTimeout(int timeout) throws SocketException
- 指定した待ち時間 (ミリ秒単位) をもつ SO_TIMEOUT を有効または無効にします。このオプションの待ち時間をゼロ以外の値に設定して、この DatagramSocket の receive() を呼び出すと、メソッドは指定した時間が経過するまで戻りません。待ち時間が経過すると java.io.InterruptedIOException が発生します。ただし、ServerSocket は有効なままです。このオプションに効果をもたせるためには、ブロック操作に入る前にこのオプションを有効にしなければなりません。待ち時間にはゼロより大きい値を指定します。待ち時間にゼロを指定すると、無限と解釈されます。
getSoTimeout
public synchronized int getSoTimeout() throws SocketException
- SO_TIMEOUT の設定を取得します。このオプションが無効 (待ち時間が無限) の場合は、0 が返されます。
close
public void close()
- このデータグラムソケットをクローズします。
全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス