|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.net.Socket
このクラスは、クライアントソケット (単に「ソケット」とも呼ぶ) を実装します。ソケットとは 2 つのマシン間の通信の両端に位置するものです。
ソケットの実際の処理は SocketImpl
クラスのインスタンスが行います。アプリケーションは、ソケットを作成するソケットファクトリを変更することによって、ローカルのファイアウォールに適したソケットを作成するように、アプリケーション自身を構成できます。
setSocketImplFactory(java.net.SocketImplFactory)
,
SocketImpl
コンストラクタの概要 | |
protected |
Socket()
システムでデフォルトになっているタイプの SocketImpl を使用して、接続されていないソケットを作成します。 |
|
Socket(InetAddress address,
int port)
ストリームソケットを作成し、指定された IP アドレスの指定されたポート番号に接続します。 |
|
Socket(InetAddress host,
int port,
boolean stream)
推奨されません。 UDP 転送ではなく DatagramSocket を使ってください。 |
|
Socket(InetAddress address,
int port,
InetAddress localAddr,
int localPort)
ソケットを作成し、指定されたリモートポート上の指定されたリモートアドレスに接続します。 |
protected |
Socket(SocketImpl impl)
ユーザが指定した SocketImpl を使用して、接続されていないソケットを作成します。 |
|
Socket(String host,
int port)
ストリームソケットを作成して、指定されたホスト上の指定されたポート番号に接続します。 |
|
Socket(String host,
int port,
boolean stream)
推奨されません。 UDP 転送ではなく DatagramSocket を使ってください。 |
|
Socket(String host,
int port,
InetAddress localAddr,
int localPort)
ソケットを作成し、指定されたリモートポート上の指定されたリモートホストに接続します。 |
メソッドの概要 | |
void |
close()
このソケットを閉じます。 |
InetAddress |
getInetAddress()
ソケットの接続先のアドレスを返します。 |
InputStream |
getInputStream()
このソケットの入力ストリームを返します。 |
InetAddress |
getLocalAddress()
ソケットのバインド先のローカルアドレスを取得します。 |
int |
getLocalPort()
このソケットのバインド先のローカルポートを返します。 |
OutputStream |
getOutputStream()
このソケットの出力ストリームを返します。 |
int |
getPort()
このソケットの接続先のリモートポートを返します。 |
int |
getReceiveBufferSize()
このソケットで使われる SO_RCVBUF オプションの値を取得します。 |
int |
getSendBufferSize()
このソケットで使われる SO_SNDBUF オプションの値を取得します。 |
int |
getSoLinger()
SO_LINGER の設定を返します。 |
int |
getSoTimeout()
SO_TIMEOUT の設定を返します。 |
boolean |
getTcpNoDelay()
TCP_NODELAY が有効かどうかを調べます。 |
void |
setReceiveBufferSize(int size)
SO_RCVBUF オプションを、この DatagramSocket に指定された値に設定します。 |
void |
setSendBufferSize(int size)
SO_SNDBUF オプションを、この DatagramSocket に指定された値に設定します。 |
static void |
setSocketImplFactory(SocketImplFactory fac)
アプリケーションのクライアントソケット実装ファクトリを設定します。 |
void |
setSoLinger(boolean on,
int linger)
指定された待ち時間 (秒単位) で、SO_LINGER を有効または無効にします。 |
void |
setSoTimeout(int timeout)
指定された待ち時間 (ミリ秒単位) を使用して、SO_TIMEOUT を有効または無効にします。 |
void |
setTcpNoDelay(boolean on)
TCP_NODELAY を有効または無効にします (Nagle のアルゴリズムの有効、無効の切り替え)。 |
String |
toString()
このソケットを String に変換します。 |
クラス java.lang.Object から継承したメソッド |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
コンストラクタの詳細 |
protected Socket()
protected Socket(SocketImpl impl) throws SocketException
impl パラメータには、サブクラスがソケット上で使用する SocketImpl のインスタンスを指定します。
public Socket(String host, int port) throws UnknownHostException, IOException
アプリケーションでサーバソケットファクトリを指定している場合は、そのファクトリの createSocketImpl
メソッドが呼び出され、実際のソケットが作成されます。そうでない場合は「プレーンな」ソケットが作成されます。
セキュリティマネージャが存在する場合、セキュリティマネージャの checkConnect
が、引数としてホストアドレスと port
番号を指定して呼び出されます。この結果、SecurityException になることがあります。
host
- ホスト名port
- ポート番号checkConnect
メソッドがこの操作を許可しない場合setSocketImplFactory(java.net.SocketImplFactory)
,
SocketImpl
,
SocketImplFactory.createSocketImpl()
,
SecurityManager.checkConnect(java.lang.String, int)
public Socket(InetAddress address, int port) throws IOException
アプリケーションでサーバソケットファクトリを指定している場合は、そのファクトリの createSocketImpl
メソッドが呼び出され、実際のソケットが作成されます。そうでない場合は「プレーンな」ソケットが作成されます。
セキュリティマネージャが存在する場合、セキュリティマネージャの checkConnect
が、引数としてホストアドレスと port
番号を指定して呼び出されます。この結果、SecurityException になることがあります。
address
- IP アドレスport
- ポート番号checkConnect
メソッドがこの操作を許可しない場合setSocketImplFactory(java.net.SocketImplFactory)
,
SocketImpl
,
SocketImplFactory.createSocketImpl()
,
SecurityManager.checkConnect(java.lang.String, int)
public Socket(String host, int port, InetAddress localAddr, int localPort) throws IOException
セキュリティマネージャが存在する場合、セキュリティマネージャの checkConnect
が、引数としてホストアドレスと port
番号を指定して呼び出されます。この結果、SecurityException になることがあります。
host
- リモートホスト名port
- リモートポートlocalAddr
- ソケットのバインド先のローカルアドレスlocalPort
- ソケットのバインド先のローカルポートcheckConnect
メソッドがこの操作を許可しない場合SecurityManager.checkConnect(java.lang.String, int)
public Socket(InetAddress address, int port, InetAddress localAddr, int localPort) throws IOException
セキュリティマネージャが存在する場合、セキュリティマネージャの checkConnect
が、引数としてホストアドレスと port
番号を指定して呼び出されます。この結果、SecurityException になることがあります。
address
- リモートアドレスport
- リモートポートlocalAddr
- ソケットのバインド先のローカルアドレスlocalPort
- ソケットのバインド先のローカルポートcheckConnect
メソッドがこの操作を許可しない場合SecurityManager.checkConnect(java.lang.String, int)
public Socket(String host, int port, boolean stream) throws IOException
stream 引数に true
を指定すると、ストリームソケットが作成されます。stream 引数に false
を指定すると、データグラムソケットが作成されます。
アプリケーションでサーバソケットファクトリを指定している場合は、そのファクトリの createSocketImpl
メソッドが呼び出され、実際のソケットが作成されます。そうでない場合は「プレーンな」ソケットが作成されます。
セキュリティマネージャが存在する場合、セキュリティマネージャの checkConnect
が、引数としてホストアドレスと port
番号を指定して呼び出されます。この結果、SecurityException になることがあります。
host
- ホスト名port
- ポート番号stream
- ストリームソケットかデータグラムソケットかを表わす boolean
値checkConnect
メソッドがこの操作を許可しない場合setSocketImplFactory(java.net.SocketImplFactory)
,
SocketImpl
,
SocketImplFactory.createSocketImpl()
,
SecurityManager.checkConnect(java.lang.String, int)
public Socket(InetAddress host, int port, boolean stream) throws IOException
stream 引数に true
を指定すると、ストリームソケットが作成されます。stream 引数に false
を指定すると、データグラムソケットが作成されます。
アプリケーションでサーバソケットファクトリを指定している場合は、そのファクトリの createSocketImpl
メソッドが呼び出され、実際のソケットが作成されます。そうでない場合は「プレーンな」ソケットが作成されます。
セキュリティマネージャが存在する場合、セキュリティマネージャの checkConnect
が、引数として host.getHostAddress()
と port
番号を指定して呼び出されます。この結果、SecurityException になることがあります。
host
- IP アドレスport
- ポート番号stream
- true
を指定した場合はストリームソケットが作成され、そうでない場合はデータグラムソケットが作成されるcheckConnect
メソッドがこの操作を許可しない場合setSocketImplFactory(java.net.SocketImplFactory)
,
SocketImpl
,
SocketImplFactory.createSocketImpl()
,
SecurityManager.checkConnect(java.lang.String, int)
メソッドの詳細 |
public InetAddress getInetAddress()
public InetAddress getLocalAddress()
public int getPort()
public int getLocalPort()
public InputStream getInputStream() throws IOException
public OutputStream getOutputStream() throws IOException
public void setTcpNoDelay(boolean on) throws SocketException
public boolean getTcpNoDelay() throws SocketException
public void setSoLinger(boolean on, int linger) throws SocketException
on
- 待ち時間を有効にするかどうかを指定linger
- on が true の場合は、待ち時間public int getSoLinger() throws SocketException
public void setSoTimeout(int timeout) throws SocketException
public int getSoTimeout() throws SocketException
public void setSendBufferSize(int size) throws SocketException
バッファのサイズを増やすと、大規模な接続でのネットワーク入出力のパフォーマンスを上げることができます。一方、サイズを減らすと、受信データのバックログを減らすことができます。UDP の場合は、この値により、このソケットを通じて送信されるパケットの最大サイズが設定されます。
SO_SNDBUF はヒントなので、アプリケーションでバッファのサイズ設定を調べる必要がある場合は、
size
- 送信バッファ用として設定するサイズ。0 より大きい値を指定する必要がある
public int getSendBufferSize() throws SocketException
setSendBufferSize(int)
public void setReceiveBufferSize(int size) throws SocketException
バッファのサイズを増やすと、大規模な接続でのネットワーク入出力のパフォーマンスを上げることができます。一方、サイズを減らすと、受信データのバックログを減らすことができます。UDP の場合は、この値により、このソケットを通じて送信されるパケットの最大サイズが設定されます。
SO_RCVBUF はヒントなので、アプリケーションでバッファのサイズ設定を調べる必要がある場合は、
size
- 受信バッファ用として設定するサイズ。0 より大きい値を指定する必要がある
public int getReceiveBufferSize() throws SocketException
setReceiveBufferSize(int)
public void close() throws IOException
public String toString()
String
に変換します。public static void setSocketImplFactory(SocketImplFactory fac) throws IOException
アプリケーションで新しいクライアントソケットを作成すると、ソケット実装ファクトリの createSocketImpl
メソッドが呼び出され、実際のソケットが作成されます。
セキュリティマネージャが存在する場合、このメソッドはまずセキュリティマネージャの checkSetFactory
を呼び出すことにより、この操作が許可されていることを確認します。この結果、SecurityException になることがあります。
fac
- 使用するファクトリcheckSetFactory
メソッドがこの操作を許可しない場合SocketImplFactory.createSocketImpl()
,
SecurityManager.checkSetFactory()
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |