全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス
クラス java.net.ServerSocket
java.lang.Object
|
+----java.net.ServerSocket
- public class ServerSocket
- extends Object
サーバソケットを実装するクラスです。サーバソケットはネットワークを介して要求が送られてくるのを待ちます。その要求に基づいて処理を行い、場合によっては要求元に結果を返します。
サーバソケットの実際の処理は SocketImpl
クラスのインスタンスによって行われます。アプリケーションではソケットを作成するソケットファクトリを変更して、ローカルファイアウォールに適したソケットを作成するようにアプリケーション自身を構成することができます。
- 参照:
- SocketImpl, setSocketFactory
-
ServerSocket(int)
- 指定したポート上にサーバソケットを作成する。
-
ServerSocket(int, int)
- 指定したローカルポート番号に結合されたサーバソケットを作成する。
-
ServerSocket(int, int, InetAddress)
-
指定したポート、待ち行列の最大長、ローカル IP アドレスに結合されたサーバソケットを作成する。
-
accept()
- このソケットへの接続が確立されるのを待ち、それを受け取る。
-
close()
- このソケットをクローズする。
-
getInetAddress()
- このサーバソケットのローカルアドレスを返す。
-
getLocalPort()
- このソケットが接続を待機するポートを返す。
-
getSoTimeout()
- SO_TIMEOUT の設定を返す。
-
implAccept(Socket)
- ServerSocket のサブクラスではこのメソッドを使用して、ソケットの独自のサブクラスを返すように accept() をオーバーライドする。
-
setSocketFactory(SocketImplFactory)
- アプリケーションのサーバソケット実装ファクトリを設定する。
-
setSoTimeout(int)
- 指定した待ち時間 (ミリ秒単位) を使用して SO_TIMEOUT を有効または無効にする。
-
toString()
- このソケットの実装アドレスと実装ポートを
String
として返す。
ServerSocket
public ServerSocket(int port) throws IOException
- 指定したポート上にサーバソケットを作成します。
0
を指定すると、空いている任意のポート上にソケットが作成されます。
入ってくる接続 (接続要求) の待ち行列の最大長は 50
に設定されます。待ち行列が満杯のときに接続要求があると、接続は拒否されます。
アプリケーションに指定のサーバソケットファクトリがある場合は、そのファクトリの createSocketImpl
メソッドが呼び出されて実際のソケットが作成されます。それ以外の場合は「普通の」ソケットが作成されます。
- パラメータ:
- port - ポート番号。空いている任意のポートを使用する場合は
0
- 例外 : IOException
- ソケットのオープン中に I/O エラーが発生した
- 参照:
- SocketImpl, createSocketImpl, setSocketFactory
ServerSocket
public ServerSocket(int port,
int backlog) throws IOException
- サーバソケットを作成し、指定したローカルポート番号に接続します。ポート番号に
0
を指定すると、空いている任意のポート上にソケットが作成されます。
入ってくる接続 (接続要求) の待ち行列の最大長は count
パラメータの値に設定されます。待ち行列が満杯のときに接続要求があると、接続は拒否されます。
アプリケーションに指定のサーバソケットファクトリがある場合は、そのファクトリの createSocketImpl
メソッドが呼び出されて実際のソケットが作成されます。それ以外の場合は「普通の」ソケットが作成されます。
- パラメータ:
- port - 使用するポート。空いている任意のポートを使用する場合は
0
- backlog - 待ち行列の最大長
- 例外 : IOException
- ソケットのオープン中に I/O エラーが発生した
- 参照:
- SocketImpl, createSocketImpl, setSocketFactory
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
getInetAddress
public InetAddress getInetAddress()
- このサーバソケットのローカルアドレスを返します。
- 返り値:
- このソケットの接続先のアドレス。ソケットがまだ接続されていない場合には
null
getLocalPort
public int getLocalPort()
- このソケットが接続を待機中のポートを返します。
- 返り値:
- このソケットが接続を待機中のポート番号
accept
public Socket accept() throws IOException
- このソケットに対する接続要求を待機し、それを受け取ります。メソッドは接続が確立されるまでブロックされます。
- 例外 : IOException
- 接続の待機中に I/O エラーが発生した
implAccept
protected final void implAccept(Socket s) throws IOException
- ServerSocket のサブクラスでは、このメソッドを使用してソケットの独自のサブクラスを返すように accept() をオーバーライドすることができます。このため、FooServerSocket は一般的にこのメソッドに空の FooSocket() を渡します。implAccept から戻ると、FooSocket はクライアントに接続されます。
close
public void close() throws IOException
- このソケットをクローズします。
- 例外 : IOException
- ソケットをクローズする際に I/O エラーが発生した
setSoTimeout
public synchronized void setSoTimeout(int timeout) throws SocketException
- 指定した待ち時間 (ミリ秒単位) を使用して SO_TIMEOUT を有効または無効にします。このオプションで待ち時間をゼロ以外の値に設定してこの ServerSocket の accept() を呼び出すと、指定した時間だけブロックされます。待ち時間が経過すると、ServerSocket は有効なままで java.io.InterruptedIOException が発生します。このオプションに効果をもたせるためには、ブロック操作に入る前にこのオプションを有効にしておく必要があります。待ち時間には 0 より大きい値を指定します。待ち時間に 0 を指定すると、無限と解釈されます。
getSoTimeout
public synchronized int getSoTimeout() throws IOException
- SO_TIMEOUT の設定を取得します。このオプションが無効 (待ち時間が無限) の場合は 0 を返します。
toString
public String toString()
- このソケットの実装アドレスと実装ポートを
String
として返します。
- 返り値:
- このソケットの文字列表現
- オーバーライド:
- Object クラスの toString
setSocketFactory
public static synchronized void setSocketFactory(SocketImplFactory fac) throws IOException
- アプリケーションのサーバソケット実装ファクトリを設定します。ファクトリを設定できるのは 1 回だけです。
アプリケーションで新しいサーバソケットを作成すると、ソケット実装ファクトリの createSocketImpl
メソッドが呼び出され、実際のソケットが作成されます。
- パラメータ:
- fac - 使用するファクトリ
- 例外 : IOException
- ソケットファクトリの設定中に I/O エラーが発生した
- 例外 : SocketException
- ファクトリがすでに定義されている
- 参照:
- createSocketImpl
全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス