|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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
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
- 待ち行列の最大長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
- サーバをバインドするローカル InetAddresscheckListen
メソッドがこの操作を許可しない場合SocketConstants
,
SocketOption
,
SocketImpl
,
SecurityManager.checkListen(int)
メソッドの詳細 |
public InetAddress getInetAddress()
null
public int getLocalPort()
public Socket accept() throws IOException
新しいソケット s
が作成され、セキュリティマネージャが存在する場合、セキュリティマネージャの checkAccept
メソッドが、引数として s.getInetAddress().getHostAddress()
および s.getPort()
を指定して呼び出され、この操作の実行が許可されていることを確認します。この結果、SecurityException になることがあります。
checkListen
メソッドがこの操作を許可しない場合SecurityManager.checkAccept(java.lang.String, int)
protected final void implAccept(Socket s) throws IOException
public void close() throws IOException
public void setSoTimeout(int timeout) throws SocketException
public int getSoTimeout() throws IOException
public String toString()
String
として返します。public static void setSocketFactory(SocketImplFactory fac) throws IOException
アプリケーションで新しいサーバソケットを作成すると、ソケット実装ファクトリの createSocketImpl
メソッドが呼び出され、実際のソケットが作成されます。
セキュリティマネージャが存在する場合、まずセキュリティマネージャの checkSetFactory
メソッドが呼び出され、この操作が許可されていることを確認します。この結果、SecurityException になることがあります。
fac
- 使用するファクトリcheckSetFactory
メソッドがこの操作を許可しない場合SocketImplFactory.createSocketImpl()
,
SecurityManager.checkSetFactory()
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |