JavaTM Platform
Standard Ed. 6

java.net
クラス SocketImpl

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

public abstract class SocketImpl
extends Object
implements SocketOptions

abstract クラス 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 - このソケットを停止するときに入出力エラーが発生した場合
導入されたバージョン:
1.3
関連項目:
Socket.shutdownOutput(), Socket.close(), Socket.setSoLinger(boolean, int)

shutdownOutput

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

例外:
IOException - このソケットを停止するときに入出力エラーが発生した場合
導入されたバージョン:
1.3
関連項目:
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 Platform
Standard Ed. 6

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

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