|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
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()
このソケットの入力ストリームを返します。 |
boolean |
getKeepAlive()
SO_KEEPALIVE が有効かどうかを調べます。 |
InetAddress |
getLocalAddress()
ソケットのバインド先のローカルアドレスを取得します。 |
int |
getLocalPort()
このソケットのバインド先のローカルポートを返します。 |
OutputStream |
getOutputStream()
このソケットの出力ストリームを返します。 |
int |
getPort()
このソケットの接続先のリモートポートを返します。 |
int |
getReceiveBufferSize()
この Socket で使われる SO_RCVBUF オプションの値を取得します。 |
int |
getSendBufferSize()
この Socket で使われる SO_SNDBUF オプションの値を取得します。 |
int |
getSoLinger()
SO_LINGER の設定を返します。 |
int |
getSoTimeout()
SO_TIMEOUT の設定を返します。 |
boolean |
getTcpNoDelay()
TCP_NODELAY が有効かどうかを調べます。 |
void |
setKeepAlive(boolean on)
SO_KEEPALIVE を有効または無効にします。 |
void |
setReceiveBufferSize(int size)
SO_RCVBUF オプションを、この Socket に指定された値に設定します。 |
void |
setSendBufferSize(int size)
SO_SNDBUF オプションを、この Socket に指定された値に設定します。 |
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 のアルゴリズムの有効、無効の切り替え)。 |
void |
shutdownInput()
このソケットの入力ストリームを「ストリームの最後」に配置します。 |
void |
shutdownOutput()
このソケットの出力ストリームを無効にします。 |
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 - サブクラスが Socket 上で使用する SocketImpl のインスタンスSocketException - 使用しているプロトコルで TCP エラーなどのエラーが発生した場合
public Socket(String host,
int port)
throws UnknownHostException,
IOException
アプリケーションでサーバソケットファクトリを指定している場合は、そのファクトリの createSocketImpl メソッドが呼び出され、実際のソケットが作成されます。そうでない場合は「プレーンな」ソケットが作成されます。
セキュリティマネージャが存在する場合、セキュリティマネージャの checkConnect が、引数としてホストアドレスと port 番号を指定して呼び出されます。この結果、SecurityException になることがあります。
host - ホスト名port - ポート番号UnknownHostException - ホストの IP アドレスを判定できなかった場合IOException - ソケットの生成中に入出力エラーが発生した場合SecurityException - セキュリティマネージャが存在し、セキュリティマネージャの 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 - ポート番号IOException - ソケットの生成中に入出力エラーが発生した場合SecurityException - セキュリティマネージャが存在し、セキュリティマネージャの 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 - ソケットのバインド先のローカルポートIOException - ソケットの生成中に入出力エラーが発生した場合SecurityException - セキュリティマネージャが存在し、セキュリティマネージャの 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 - ソケットのバインド先のローカルポートIOException - ソケットの生成中に入出力エラーが発生した場合SecurityException - セキュリティマネージャが存在し、セキュリティマネージャの 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 値IOException - ソケットの生成中に入出力エラーが発生した場合SecurityException - セキュリティマネージャが存在し、セキュリティマネージャの 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 を指定した場合はストリームソケットが作成され、そうでない場合はデータグラムソケットが作成されるIOException - ソケットの生成中に入出力エラーが発生した場合SecurityException - セキュリティマネージャが存在し、セキュリティマネージャの 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
IOException - 入力ストリームの作成中に入出力エラーが発生した場合
public OutputStream getOutputStream()
throws IOException
IOException - 出力ストリームの作成中に入出力エラーが発生した場合
public void setTcpNoDelay(boolean on)
throws SocketException
on - TCP_NODELAY を有効にする場合は true、無効にする場合は falseSocketException - 基本となるプロトコルで TCP エラーなどのエラーが発生した場合getTcpNoDelay()
public boolean getTcpNoDelay()
throws SocketException
boolean 値SocketException - 基本となるプロトコルで TCP エラーなどのエラーが発生した場合setTcpNoDelay(boolean)
public void setSoLinger(boolean on,
int linger)
throws SocketException
on - 遅延時間を有効にするかどうかを指定linger - on が true の場合は、遅延時間SocketException - 基本となるプロトコルで TCP エラーなどのエラーが発生した場合IllegalArgumentException - 遅延時間の値が負の数値である場合getSoLinger()
public int getSoLinger()
throws SocketException
SocketException - 基本となるプロトコルで TCP エラーなどのエラーが発生した場合setSoLinger(boolean, int)
public void setSoTimeout(int timeout)
throws SocketException
timeout - ミリ秒で表される、指定されたタイムアウトSocketException - 基本となるプロトコルで TCP エラーなどのエラーが発生した場合getSoTimeout()
public int getSoTimeout()
throws SocketException
SocketException - 基本となるプロトコルで TCP エラーなどのエラーが発生した場合setSoTimeout(int)
public void setSendBufferSize(int size)
throws SocketException
バッファのサイズを増やすと、大規模な接続でのネットワーク入出力のパフォーマンスを上げることができます。一方、サイズを減らすと、受信データのバックログを減らすことができます。UDP の場合は、この値により、この Socket を通じて送信されるパケットの最大サイズが設定されます。
SO_SNDBUF はヒントなので、アプリケーションでバッファのサイズ設定を調べる必要がある場合は、getSendBufferSize() を呼び出してください。
size - 送信バッファ用として設定するサイズ。0 より大きい値を指定する必要があるSocketException - 基本となるプロトコルで TCP エラーなどのエラーが発生した場合IllegalArgumentException - 値が 0 または負の値である場合getSendBufferSize()
public int getSendBufferSize()
throws SocketException
SocketException - 基本となるプロトコルで TCP エラーなどのエラーが発生した場合setSendBufferSize(int)
public void setReceiveBufferSize(int size)
throws SocketException
バッファのサイズを増やすと、大規模な接続でのネットワーク入出力のパフォーマンスを上げることができます。一方、サイズを減らすと、受信データのバックログを減らすことができます。UDP の場合は、この値により、この Socket を通じて送信されるパケットの最大サイズが設定されます。
SO_RCVBUF はヒントなので、アプリケーションでバッファのサイズ設定を調べる必要がある場合は、getReceiveBufferSize() を呼び出してください。
size - 受信バッファ用として設定するサイズ。0 より大きい値を指定する必要があるIllegalArgumentException - 値が 0 または負の値である場合SocketException - 基本となるプロトコルで TCP エラーなどのエラーが発生した場合getReceiveBufferSize()
public int getReceiveBufferSize()
throws SocketException
SocketException - 基本となるプロトコルで TCP エラーなどのエラーが発生した場合setReceiveBufferSize(int)
public void setKeepAlive(boolean on)
throws SocketException
on - ソケットをオンのままにしておくかどうかを指定SocketException - 基本となるプロトコルで TCP エラーなどのエラーが発生した場合getKeepAlive()
public boolean getKeepAlive()
throws SocketException
boolean 値SocketException - 基本となるプロトコルで TCP エラーなどのエラーが発生した場合setKeepAlive(boolean)
public void close()
throws IOException
IOException - このソケットを閉じるときに入出力エラーが発生した場合
public void shutdownInput()
throws IOException
IOException - このソケットを停止するときに入出力エラーが発生した場合shutdownOutput(),
close(),
setSoLinger(boolean, int)
public void shutdownOutput()
throws IOException
IOException - このソケットを停止するときに入出力エラーが発生した場合shutdownInput(),
close(),
setSoLinger(boolean, int)public String toString()
String に変換します。Object 内の toString
public static void setSocketImplFactory(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.