|
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
、無効にする場合は false
SocketException
- 基本となるプロトコルで 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.