JavaTM 2 Platform
Standard Ed. 5.0

java.net
クラス SocketImpl

java.lang.Object
  上位を拡張 java.net.SocketImpl
すべての実装されたインタフェース:
SocketOptions

public abstract class SocketImpl
extends Object
implements SocketOptions

抽象クラス SocketImpl は、ソケットを実際に実装するすべてのクラスに共通のスーパークラスです。クライアントソケットとサーバソケットの両方を作成する際に使用されます。

「プレーンな」ソケットは、各メソッドを記述のとおりに実装します。ファイアウォールやプロキシは使用しません。

導入されたバージョン:
JDK1.0

フィールドの概要
protected  InetAddress address
          このソケットのリモート側の IP アドレスです。
protected  FileDescriptor fd
          このソケットのファイル記述子オブジェクトです。
protected  int localport
          このソケットの接続先のローカルポート番号です。
protected  int port
          このソケットの接続先のリモートホスト上にあるポート番号です。
 
インタフェース java.net.SocketOptions から継承されたフィールド
IP_MULTICAST_IF, IP_MULTICAST_IF2, IP_MULTICAST_LOOP, IP_TOS, SO_BINDADDR, SO_BROADCAST, SO_KEEPALIVE, SO_LINGER, SO_OOBINLINE, SO_RCVBUF, SO_REUSEADDR, SO_SNDBUF, SO_TIMEOUT, TCP_NODELAY
 
コンストラクタの概要
SocketImpl()
           
 
メソッドの概要
protected abstract  void accept(SocketImpl s)
          接続を受け入れます。
protected abstract  int available()
          このソケットからブロックなしで読み取れるバイト数を返します。
protected abstract  void bind(InetAddress host, int port)
          このソケットを指定されたローカル IP アドレスとポート番号にバインドします。
protected abstract  void close()
          このソケットを閉じます。
protected abstract  void connect(InetAddress address, int port)
          指定されたホスト上の指定されたポートにこのソケットを接続します。
protected abstract  void connect(SocketAddress address, int timeout)
          指定されたホストの指定されたポート番号にこのソケットを接続します。
protected abstract  void connect(String host, int port)
          指定されたホスト上の指定されたポートにこのソケットを接続します。
protected abstract  void create(boolean stream)
          ストリームソケットまたはデータグラムソケットを作成します。
protected  FileDescriptor getFileDescriptor()
          このソケットの fd フィールド値を返します。
protected  InetAddress getInetAddress()
          このソケットの address フィールド値を返します。
protected abstract  InputStream getInputStream()
          このソケットの入力ストリームを返します。
protected  int getLocalPort()
          このソケットの localport フィールド値を返します。
protected abstract  OutputStream getOutputStream()
          このソケットの出力ストリームを返します。
protected  int getPort()
          このソケットの port フィールド値を返します。
protected abstract  void listen(int backlog)
          受信する接続 (接続要求) を入れるキューの最大長を、count 引数の値に設定します。
protected abstract  void sendUrgentData(int data)
          ソケット上の 1 バイトの緊急データを送信します。
protected  void setPerformancePreferences(int connectionTime, int latency, int bandwidth)
          このソケットのパフォーマンス設定を行います。
protected  void shutdownInput()
          このソケットの入力ストリームを「ストリームの最後」に配置します。
protected  void shutdownOutput()
          このソケットの出力ストリームを無効にします。
protected  boolean supportsUrgentData()
          この SocketImpl が緊急データの送信をサポートしているかどうかを返します。
 String toString()
          このソケットのアドレスとポートを String として返します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
インタフェース java.net.SocketOptions から継承されたメソッド
getOption, setOption
 

フィールドの詳細

fd

protected FileDescriptor fd
このソケットのファイル記述子オブジェクトです。


address

protected InetAddress address
このソケットのリモート側の IP アドレスです。


port

protected int port
このソケットの接続先のリモートホスト上にあるポート番号です。


localport

protected int localport
このソケットの接続先のローカルポート番号です。

コンストラクタの詳細

SocketImpl

public SocketImpl()
メソッドの詳細

create

protected abstract void create(boolean stream)
                        throws IOException
ストリームソケットまたはデータグラムソケットを作成します。

パラメータ:
stream - true を指定した場合はストリームソケットが作成され、そうでない場合はデータグラムソケットが作成される
例外:
IOException - ソケットの作成中に入出力エラーが発生した場合

connect

protected abstract void connect(String host,
                                int port)
                         throws IOException
指定されたホスト上の指定されたポートにこのソケットを接続します。

パラメータ:
host - リモートホスト名
port - ポート番号
例外:
IOException - リモートホストへの接続中に入出力エラーが発生した場合

connect

protected abstract void connect(InetAddress address,
                                int port)
                         throws IOException
指定されたホスト上の指定されたポートにこのソケットを接続します。

パラメータ:
address - リモートホストの IP アドレス
port - ポート番号
例外:
IOException - 接続の試行中に入出力エラーが発生した場合

connect

protected abstract void connect(SocketAddress address,
                                int timeout)
                         throws IOException
指定されたホストの指定されたポート番号にこのソケットを接続します。タイムアウトに 0 を指定すると、タイムアウトは無限と解釈されます。その場合、接続が確立されるかエラーが発生するまで、接続はブロックされます。

パラメータ:
address - リモートホストのソケットアドレス
timeout - タイムアウト値 (ミリ秒)。タイムアウトなしの場合は 0
例外:
IOException - 接続の試行中に入出力エラーが発生した場合
導入されたバージョン:
1.4

bind

protected abstract void bind(InetAddress host,
                             int port)
                      throws IOException
このソケットを指定されたローカル IP アドレスとポート番号にバインドします。

パラメータ:
host - ローカルインタフェースに所属する IP アドレス
port - ポート番号
例外:
IOException - このソケットをバインドするときに入出力エラーが発生した場合

listen

protected abstract void listen(int backlog)
                        throws IOException
受信する接続 (接続要求) を入れるキューの最大長を、count 引数の値に設定します。キューが埋まっているときに接続要求があると、接続は拒否されます。

パラメータ:
backlog - キューの最大長
例外:
IOException - キューの作成中に入出力エラーが発生した場合

accept

protected abstract void accept(SocketImpl s)
                        throws IOException
接続を受け入れます。

パラメータ:
s - 受け入れる接続
例外:
IOException - 接続の受け入れ中に入出力エラーが発生した場合

getInputStream

protected abstract InputStream getInputStream()
                                       throws IOException
このソケットの入力ストリームを返します。

戻り値:
このソケットからの入力を読み取るためのストリーム
例外:
IOException - 入力ストリームの作成中に入出力エラーが発生した場合

getOutputStream

protected abstract OutputStream getOutputStream()
                                         throws IOException
このソケットの出力ストリームを返します。

戻り値:
このソケットに書き込むための出力ストリーム
例外:
IOException - 出力ストリームの作成中に入出力エラーが発生した場合

available

protected abstract int available()
                          throws IOException
このソケットからブロックなしで読み取れるバイト数を返します。

戻り値:
このソケットからブロックなしで読み取れるバイト数
例外:
IOException - 利用できるバイト数の決定時に入出力エラーが発生した場合

close

protected abstract void close()
                       throws IOException
このソケットを閉じます。

例外:
IOException - このソケットを閉じるときに入出力エラーが発生した場合

shutdownInput

protected void shutdownInput()
                      throws IOException
このソケットの入力ストリームを「ストリームの最後」に配置します。このソケットに送信されたデータは確認され、そのまま破棄されます。 ソケットで shutdownInput() を呼び出したあとにソケットの入力ストリームから読み取ると、ストリームは EOF を返します。

例外:
IOException - このソケットを停止するときに入出力エラーが発生した場合
関連項目:
Socket.shutdownOutput(), Socket.close(), Socket.setSoLinger(boolean, int)

shutdownOutput

protected void shutdownOutput()
                       throws IOException
このソケットの出力ストリームを無効にします。TCP ソケットの場合、すでに書き込まれているデータが送信され、そのあとに TCP の通常の接続終了処理が続きます。 ソケットで shutdownOutput() を呼び出したあとにソケットの出力ストリームに書き込むと、ストリームは IOException をスローします。

例外:
IOException - このソケットを停止するときに入出力エラーが発生した場合
関連項目:
Socket.shutdownInput(), Socket.close(), Socket.setSoLinger(boolean, int)

getFileDescriptor

protected FileDescriptor getFileDescriptor()
このソケットの fd フィールド値を返します。

戻り値:
このソケットの fd フィールド値
関連項目:
fd

getInetAddress

protected InetAddress getInetAddress()
このソケットの address フィールド値を返します。

戻り値:
このソケットの address フィールド値
関連項目:
address

getPort

protected int getPort()
このソケットの port フィールド値を返します。

戻り値:
このソケットの port フィールド値
関連項目:
port

supportsUrgentData

protected boolean supportsUrgentData()
この SocketImpl が緊急データの送信をサポートしているかどうかを返します。デフォルトでは、メソッドがサブクラスでオーバーライドされていない場合は false が返されます。

戻り値:
緊急データがサポートされている場合は true
導入されたバージョン:
1.4
関連項目:
address

sendUrgentData

protected abstract void sendUrgentData(int data)
                                throws IOException
ソケット上の 1 バイトの緊急データを送信します。送信されるバイトはパラメータの下位 8 ビットです。

パラメータ:
data - 送信するデータのバイト
例外:
IOException - データを送信するときにエラーが発生した場合
導入されたバージョン:
1.4

getLocalPort

protected int getLocalPort()
このソケットの localport フィールド値を返します。

戻り値:
このソケットの localport フィールド値
関連項目:
localport

toString

public String toString()
このソケットのアドレスとポートを String として返します。

オーバーライド:
クラス Object 内の toString
戻り値:
このソケットの文字列表現

setPerformancePreferences

protected void setPerformancePreferences(int connectionTime,
                                         int latency,
                                         int bandwidth)
このソケットのパフォーマンス設定を行います。

ソケットはデフォルトで TCP/IP プロトコルを使用します。実装によっては、TCP/IP とは異なるパフォーマンス特性を持つ代替プロトコルが提供されることもあります。アプリケーションは、このメソッドを使用することで、実装で利用可能なプロトコルの選択時に、これらのかね合いの取り方を示す独自の設定を表現できます。

パフォーマンス設定は、接続時間の短さ、応答時間の速さ、帯域幅の広さの相対的な重要度を示す 3 つの整数値によって記述されます。整数の絶対値に関係性はなく、プロトコルを選択するために値を単に比較します。値が大きければより強い設定を示します。負の値は、正の値よりも優先順位が低いことを表します。アプリケーションが応答時間の速さと帯域幅の広さよりも接続時間の短さを優先する場合、このメソッドを (1, 0, 0) という値で呼び出すことができます。アプリケーションが応答時間の速さよりも帯域幅の広さを、また接続時間の短さよりも応答時間の速さを優先する場合、このメソッドを (0, 1, 2) という値で呼び出すことができます。 デフォルトでは、サブクラスでオーバーライドされていないかぎり、このメソッドは何も行いません。

パラメータ:
connectionTime - 接続時間の短さの相対的な重要度を表す int
latency - 応答時間の速さの相対的な重要度を表す int
bandwidth - 帯域幅の広さの相対的な重要度を表す int
導入されたバージョン:
1.5

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。