モジュール java.base
パッケージ java.nio.channels

クラスDatagramChannel

java.lang.Object
すべての実装されたインタフェース:
Closeable, AutoCloseable, ByteChannel, Channel, GatheringByteChannel, InterruptibleChannel, MulticastChannel, NetworkChannel, ReadableByteChannel, ScatteringByteChannel, WritableByteChannel

public abstract class DatagramChannel extends AbstractSelectableChannel implements ByteChannel, ScatteringByteChannel, GatheringByteChannel, MulticastChannel
データグラム型ソケットの選択可能なチャネルです。

データグラム・チャネルは、このクラスのopenメソッドの1つを呼び出すことによって作成されます。 任意の既存のデータグラム・ソケットのチャネルを作成することはできません。 新しく作成されたデータグラム・チャネルはオープンですが、接続は確立されていません。 sendメソッドとreceiveメソッドを使用するために、データグラム・チャネルを接続する必要はありません。 セキュリティ・チェックのオーバーヘッドを回避する目的でconnectメソッドを呼び出すと、データグラム・チャネルが接続され、送受信操作のたびにセキュリティ・チェックが行われずに済みます。 ソケット・アドレスを受け付けない(返さない) readメソッドとwriteメソッドを使用するためには、データグラム・チャネルを接続する必要があります。

一度接続されたデータグラム・チャネルは、接続が切断されるかクローズされるまで接続されたままになります。 データグラム・チャネルが接続されているかどうかは、isConnectedメソッドの呼出しによって判断できます。

ソケット・オプションはsetOptionメソッドを使用して構成されます。 Internet Protocolソケットへのデータグラム・チャネルでは次のオプションがサポートされます。

ソケット・オプション
オプション名 説明
SO_SNDBUF ソケット送信バッファのサイズ
SO_RCVBUF ソケット受信バッファのサイズ
SO_REUSEADDR アドレスを再利用します
SO_BROADCAST ブロードキャスト・データグラムの転送を許可します
IP_TOS IP (Internet Protocol)ヘッダーのサービス・タイプ(ToS)オクテット
IP_MULTICAST_IF IP (Internet Protocol)マルチキャスト・データグラムのネットワーク・インタフェース
IP_MULTICAST_TTL IP (Internet Protocol)マルチキャスト・データグラムの有効期間
IP_MULTICAST_LOOP IP (Internet Protocol)マルチキャスト・データグラムのループ・バック
追加(実装固有)のオプションをサポートできる場合もあります。

データグラム・チャネルは、複数の並行スレッドで安全に使用できます。 データグラム・チャネルは並行読取りおよび書込みをサポートします。ただし、読取りを行うスレッドも書込みを行うスレッドも特定の時点では常に1個以下です。

導入されたバージョン:
1.4