| 
 | 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.