|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.net.ServerSocket
サーバソケットを実装するクラスです。サーバソケットは、ネットワークを介して要求が送られてくるのを待ちます。その要求に基づいて処理を行い、場合によっては要求元に結果を返します。
サーバソケットの実際の処理は、SocketImpl
クラスのインスタンスによって行われます。アプリケーションでは、ソケットを作成するソケットファクトリを変更して、ローカルファイアウォールに適したソケットを作成するようにアプリケーション自身を構成することができます。
SocketImpl
,
setSocketFactory(java.net.SocketImplFactory)
コンストラクタの概要 | |
ServerSocket(int port)
指定されたポート上にサーバソケットを作成します。 |
|
ServerSocket(int port,
int backlog)
サーバソケットを作成し、指定されたバックログで指定されたローカルポート番号にバインドします。 |
|
ServerSocket(int port,
int backlog,
InetAddress bindAddr)
指定されたポート、待機するバックログおよびローカル IP アドレスを使用して、サーバを作成します。 |
メソッドの概要 | |
Socket |
accept()
このソケットに対する接続要求を待機し、それを受け取ります。 |
void |
close()
このソケットを閉じます。 |
InetAddress |
getInetAddress()
このサーバソケットのローカルアドレスを返します。 |
int |
getLocalPort()
このソケットが接続を待機中のポートを返します。 |
int |
getSoTimeout()
SO_TIMEOUT の設定を取得します。 |
protected void |
implAccept(Socket s)
ServerSocket のサブクラスでは、このメソッドを使用してソケットの独自のサブクラスを返すように accept() をオーバーライドできます。 |
static void |
setSocketFactory(SocketImplFactory fac)
アプリケーションのサーバソケット実装ファクトリを設定します。 |
void |
setSoTimeout(int timeout)
指定されたタイムアウト (ミリ秒単位) を使用して SO_TIMEOUT を有効または無効にします。 |
String |
toString()
このソケットの実装アドレスと実装ポートを String として返します。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
コンストラクタの詳細 |
public ServerSocket(int port) throws IOException
0
を指定すると、空いているポート上にソケットが作成されます。
受信する接続 (接続要求) の待ち行列の最大長は 50
に設定されます。待ち行列が埋まっているときに接続要求があると、接続は拒否されます。
アプリケーションでサーバソケットファクトリを指定している場合は、そのファクトリの createSocketImpl
メソッドが呼び出され、実際のソケットが作成されます。そうでない場合は「プレーンな」ソケットが作成されます。
セキュリティマネージャが存在する場合、最初にセキュリティマネージャの checkListen
メソッドが、引数として port
を指定して呼び出され、この操作が許可されていることを確認します。この結果、SecurityException になることがあります。
port
- ポート番号。空いているポートを使用する場合は 0
IOException
- ソケットを開いているときに入出力エラーが発生した場合SecurityException
- セキュリティマネージャが存在し、セキュリティマネージャの checkListen
メソッドがこの操作を許可しない場合SocketImpl
,
SocketImplFactory.createSocketImpl()
,
setSocketFactory(java.net.SocketImplFactory)
,
SecurityManager.checkListen(int)
public ServerSocket(int port, int backlog) throws IOException
0
を指定すると、空いているポート上にソケットが作成されます。
受信する接続 (接続要求) の待ち行列の最大長は、backlog
パラメータの値に設定されます。待ち行列が埋まっているときに接続要求があると、接続は拒否されます。
アプリケーションでサーバソケットファクトリを指定している場合は、そのファクトリの createSocketImpl
メソッドが呼び出され、実際のソケットが作成されます。そうでない場合は「プレーンな」ソケットが作成されます。
セキュリティマネージャが存在する場合、最初にセキュリティマネージャの checkListen
メソッドが、引数として port
を指定して呼び出され、この操作が許可されていることを確認します。この結果、SecurityException になることがあります。
port
- 使用するポート。空いているポートを使用する場合は 0
backlog
- 待ち行列の最大長IOException
- ソケットを開いているときに入出力エラーが発生した場合SecurityException
- セキュリティマネージャが存在し、セキュリティマネージャの checkListen
メソッドがこの操作を許可しない場合SocketImpl
,
SocketImplFactory.createSocketImpl()
,
setSocketFactory(java.net.SocketImplFactory)
,
SecurityManager.checkListen(int)
public ServerSocket(int port, int backlog, InetAddress bindAddr) throws IOException
セキュリティマネージャが存在する場合、最初にセキュリティマネージャの checkListen
メソッドが、引数として port
を指定して呼び出され、この操作が許可されていることを確認します。この結果、SecurityException になることがあります。
port
- ローカル TCP ポートbacklog
- 待機するバックログbindAddr
- サーバをバインドするローカル InetAddressSecurityException
- セキュリティマネージャが存在し、セキュリティマネージャの checkListen
メソッドがこの操作を許可しない場合IOException
- ソケットを開いているときに入出力エラーが発生した場合SocketOptions
,
SocketImpl
,
SecurityManager.checkListen(int)
メソッドの詳細 |
public InetAddress getInetAddress()
null
public int getLocalPort()
public Socket accept() throws IOException
新しいソケット s
が作成され、セキュリティマネージャが存在する場合、セキュリティマネージャの checkAccept
メソッドが、引数として s.getInetAddress().getHostAddress()
および s.getPort()
を指定して呼び出され、この操作の実行が許可されていることを確認します。この結果、SecurityException になることがあります。
IOException
- 接続の待機中に入出力エラーが発生した場合SecurityException
- セキュリティマネージャが存在し、セキュリティマネージャの checkListen
メソッドがこの操作を許可しない場合SecurityManager.checkAccept(java.lang.String, int)
protected final void implAccept(Socket s) throws IOException
s
- ソケットIOException
- 接続の待機中に入出力エラーが発生した場合public void close() throws IOException
IOException
- ソケットを閉じるときに入出力エラーが発生した場合public void setSoTimeout(int timeout) throws SocketException
timeout
- ミリ秒で表される、指定されたタイムアウトSocketException
- 使用しているプロトコルで TCP エラーなどのエラーが発生した場合getSoTimeout()
public int getSoTimeout() throws IOException
IOException
- 入出力エラーが発生した場合setSoTimeout(int)
public String toString()
String
として返します。Object
内の toString
public static void setSocketFactory(SocketImplFactory fac) throws IOException
アプリケーションで新しいサーバソケットを作成すると、ソケット実装ファクトリの createSocketImpl
メソッドが呼び出され、実際のソケットが作成されます。
セキュリティマネージャが存在する場合、このメソッドは最初にセキュリティマネージャの checkSetFactory
メソッドを呼び出すことにより、この操作が許可されていることを確認します。この結果、SecurityException になることがあります。
fac
- 目的のファクトリIOException
- ソケットファクトリの設定中に入出力エラーが発生した場合SocketException
- ファクトリがすでに定義されている場合SecurityException
- セキュリティマネージャが存在し、セキュリティマネージャの checkSetFactory
メソッドがこの操作を許可しない場合SocketImplFactory.createSocketImpl()
,
SecurityManager.checkSetFactory()
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.