全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス

クラス java.net.ServerSocket

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

public class ServerSocket
extends Object
サーバソケットを実装するクラスです。サーバソケットはネットワークを介して要求が送られてくるのを待ちます。その要求に基づいて処理を行い、場合によっては要求元に結果を返します。

サーバソケットの実際の処理は SocketImpl クラスのインスタンスによって行われます。アプリケーションではソケットを作成するソケットファクトリを変更して、ローカルファイアウォールに適したソケットを作成するようにアプリケーション自身を構成することができます。

参照:
SocketImpl, setSocketFactory

Constructor Index

 o ServerSocket(int)
指定したポート上にサーバソケットを作成する。
 o ServerSocket(int, int)
指定したローカルポート番号に結合されたサーバソケットを作成する。
 o ServerSocket(int, int, InetAddress)
指定したポート、待ち行列の最大長、ローカル IP アドレスに結合されたサーバソケットを作成する。

Method Index

 o accept()
このソケットへの接続が確立されるのを待ち、それを受け取る。
 o close()
このソケットをクローズする。
 o getInetAddress()
このサーバソケットのローカルアドレスを返す。
 o getLocalPort()
このソケットが接続を待機するポートを返す。
 o getSoTimeout()
SO_TIMEOUT の設定を返す。
 o implAccept(Socket)
ServerSocket のサブクラスではこのメソッドを使用して、ソケットの独自のサブクラスを返すように accept() をオーバーライドする。
 o setSocketFactory(SocketImplFactory)
アプリケーションのサーバソケット実装ファクトリを設定する。
 o setSoTimeout(int)
指定した待ち時間 (ミリ秒単位) を使用して SO_TIMEOUT を有効または無効にする。
 o toString()
このソケットの実装アドレスと実装ポートを String として返す。

Constructors

 o ServerSocket
  public ServerSocket(int port) throws IOException
指定したポート上にサーバソケットを作成します。0 を指定すると、空いている任意のポート上にソケットが作成されます。

入ってくる接続 (接続要求) の待ち行列の最大長は 50 に設定されます。待ち行列が満杯のときに接続要求があると、接続は拒否されます。

アプリケーションに指定のサーバソケットファクトリがある場合は、そのファクトリの createSocketImpl メソッドが呼び出されて実際のソケットが作成されます。それ以外の場合は「普通の」ソケットが作成されます。

パラメータ:
port - ポート番号。空いている任意のポートを使用する場合は 0
例外 : IOException
ソケットのオープン中に I/O エラーが発生した
参照:
SocketImpl, createSocketImpl, setSocketFactory
 o ServerSocket
  public ServerSocket(int port,
                      int backlog) throws IOException
サーバソケットを作成し、指定したローカルポート番号に接続します。ポート番号に 0 を指定すると、空いている任意のポート上にソケットが作成されます。

入ってくる接続 (接続要求) の待ち行列の最大長は count パラメータの値に設定されます。待ち行列が満杯のときに接続要求があると、接続は拒否されます。

アプリケーションに指定のサーバソケットファクトリがある場合は、そのファクトリの createSocketImpl メソッドが呼び出されて実際のソケットが作成されます。それ以外の場合は「普通の」ソケットが作成されます。

パラメータ:
port - 使用するポート。空いている任意のポートを使用する場合は 0
backlog - 待ち行列の最大長
例外 : IOException
ソケットのオープン中に I/O エラーが発生した
参照:
SocketImpl, createSocketImpl, setSocketFactory
 o ServerSocket
  public ServerSocket(int port,
                      int backlog,
                      InetAddress bindAddr) throws IOException
指定したポート、待ち行列の最大長、ローカル IP アドレスを使用してサーバを作成します。複数ホームのホストでは、bindAddr 引数を使用して、1 つのアドレスに対する接続要求だけを受け取る ServerSocket を作成することができます。bindAddr に null を指定すると、デフォルト値によりすべてのローカルアドレスに対する接続を受け取ります。ポート番号には 0 から65535 までの値を指定します。

パラメータ:
port - ローカル TCP ポート
backlog - 待ち行列の最大長
bindAddr - サーバを結合するローカル InetAddress
参照:
SocketConstants, SocketOption, SocketImpl, 1

Methods

 o getInetAddress
  public InetAddress getInetAddress()
このサーバソケットのローカルアドレスを返します。

返り値:
このソケットの接続先のアドレス。ソケットがまだ接続されていない場合には null
 o getLocalPort
  public int getLocalPort()
このソケットが接続を待機中のポートを返します。

返り値:
このソケットが接続を待機中のポート番号
 o accept
  public Socket accept() throws IOException
このソケットに対する接続要求を待機し、それを受け取ります。メソッドは接続が確立されるまでブロックされます。

例外 : IOException
接続の待機中に I/O エラーが発生した
 o implAccept
  protected final void implAccept(Socket s) throws IOException
ServerSocket のサブクラスでは、このメソッドを使用してソケットの独自のサブクラスを返すように accept() をオーバーライドすることができます。このため、FooServerSocket は一般的にこのメソッドに空の FooSocket() を渡します。implAccept から戻ると、FooSocket はクライアントに接続されます。

 o close
  public void close() throws IOException
このソケットをクローズします。

例外 : IOException
ソケットをクローズする際に I/O エラーが発生した
 o setSoTimeout
  public synchronized void setSoTimeout(int timeout) throws SocketException
指定した待ち時間 (ミリ秒単位) を使用して SO_TIMEOUT を有効または無効にします。このオプションで待ち時間をゼロ以外の値に設定してこの ServerSocket の accept() を呼び出すと、指定した時間だけブロックされます。待ち時間が経過すると、ServerSocket は有効なままで java.io.InterruptedIOException が発生します。このオプションに効果をもたせるためには、ブロック操作に入る前にこのオプションを有効にしておく必要があります。待ち時間には 0 より大きい値を指定します。待ち時間に 0 を指定すると、無限と解釈されます。

 o getSoTimeout
  public synchronized int getSoTimeout() throws IOException
SO_TIMEOUT の設定を取得します。このオプションが無効 (待ち時間が無限) の場合は 0 を返します。

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

返り値:
このソケットの文字列表現
オーバーライド:
Object クラスの toString
 o setSocketFactory
  public static synchronized void setSocketFactory(SocketImplFactory fac) throws IOException
アプリケーションのサーバソケット実装ファクトリを設定します。ファクトリを設定できるのは 1 回だけです。

アプリケーションで新しいサーバソケットを作成すると、ソケット実装ファクトリの createSocketImpl メソッドが呼び出され、実際のソケットが作成されます。

パラメータ:
fac - 使用するファクトリ
例外 : IOException
ソケットファクトリの設定中に I/O エラーが発生した
例外 : SocketException
ファクトリがすでに定義されている
参照:
createSocketImpl

全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス