- java.lang.Object
-
- java.net.SocketImpl
-
- すべての実装されたインタフェース:
SocketOptions
public abstract class SocketImpl extends Object implements SocketOptions
抽象クラスSocketImplは、実際にソケットを実装するすべてのクラスに共通のスーパー・クラスです。 これはクライアント・ソケット、サーバー・ソケットの両方の作成に使用されます。「プレーンな」ソケットは、各メソッドを記述のとおりに実装します。ファイアウォールやプロキシは使用しません。
- 導入されたバージョン:
- 1.0
-
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 protected InetAddressaddressこのソケットのリモート側のIPアドレスです。protected FileDescriptorfdこのソケットのファイル記述子オブジェクトです。protected intlocalportこのソケットの接続先のローカル・ポート番号です。protected intportこのソケットの接続先のリモート・ホスト上にあるポート番号です。-
インタフェース java.net. SocketOptionsから継承されるフィールド
IP_MULTICAST_IF, IP_MULTICAST_IF2, IP_MULTICAST_LOOP, IP_TOS, SO_BINDADDR, SO_BROADCAST, SO_KEEPALIVE, SO_LINGER, SO_OOBINLINE, SO_RCVBUF, SO_REUSEADDR, SO_REUSEPORT, SO_SNDBUF, SO_TIMEOUT, TCP_NODELAY
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 SocketImpl()
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 protected abstract voidaccept(SocketImpl s)接続を受け入れます。protected abstract intavailable()このソケットからブロックなしで読み込めるバイト数を返します。protected abstract voidbind(InetAddress host, int port)指定されたローカルのIPアドレスとポート番号にこのソケットをバインドします。protected abstract voidclose()このソケットを閉じます。protected abstract voidconnect(String host, int port)指定されたホスト上の指定されたポートにこのソケットを接続します。protected abstract voidconnect(InetAddress address, int port)指定されたホスト上の指定されたポートにこのソケットを接続します。protected abstract voidconnect(SocketAddress address, int timeout)指定されたホスト上の指定されたポートにこのソケットを接続します。protected abstract voidcreate(boolean stream)ストリーム・ソケットまたはデータグラム・ソケットを作成します。protected FileDescriptorgetFileDescriptor()このソケットのfdフィールドの値を返します。protected InetAddressgetInetAddress()このソケットのaddressフィールドの値を返します。protected abstract InputStreamgetInputStream()このソケットの入力ストリームを返します。protected intgetLocalPort()このソケットのlocalportフィールドの値を返します。protected <T> TgetOption(SocketOption<T> name)ソケット・オプションを取得するために呼び出されます。protected abstract OutputStreamgetOutputStream()このソケットの出力ストリームを返します。protected intgetPort()このソケットのportフィールドの値を返します。protected abstract voidlisten(int backlog)受信する接続(接続要求)を入れるキューの最大長を、count引数に設定します。protected abstract voidsendUrgentData(int data)このソケット上で1バイトの緊急データを送信します。protected <T> voidsetOption(SocketOption<T> name, T value)ソケット・オプションを設定するために呼び出されます。protected voidsetPerformancePreferences(int connectionTime, int latency, int bandwidth)このソケットのパフォーマンス設定を行います。protected voidshutdownInput()このソケットの入力ストリームを「ストリームの終わり」に設定します。protected voidshutdownOutput()このソケットの出力ストリームを無効にします。protected Set<SocketOption<?>>supportedOptions()このimplとthis implソケットでサポートされているSocketOptionsのセットを返します。(ソケットまたはServerSocket)protected booleansupportsUrgentData()このSocketImplが緊急データの送信をサポートするかどうかを返します。StringtoString()このソケットのアドレスとポートをStringとして返します。-
クラス java.lang.Objectから継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
インタフェース java.net. SocketOptionsから継承されるメソッド
getOption, setOption
-
-
-
-
フィールドの詳細
-
fd
protected FileDescriptor fd
このソケットのファイル記述子オブジェクトです。
-
address
protected InetAddress address
このソケットのリモート側のIPアドレスです。
-
port
protected int port
このソケットの接続先のリモート・ホスト上にあるポート番号です。
-
localport
protected int localport
このソケットの接続先のローカル・ポート番号です。
-
-
メソッドの詳細
-
create
protected abstract void create(boolean stream) throws IOExceptionストリーム・ソケットまたはデータグラム・ソケットを作成します。- パラメータ:
stream-trueの場合はストリーム・ソケットを作成し、それ以外の場合はデータグラム・ソケットを作成します。- 例外:
IOException−ソケットの作成中に入出力エラーが発生した場合。
-
connect
protected abstract void connect(String host, int port) throws IOException
指定されたホスト上の指定されたポートにこのソケットを接続します。- パラメータ:
host−リモート・ホスト名。port- ポート番号。- 例外:
IOException−リモート・ホストへの接続時に入出力エラーが発生した場合。
-
connect
protected abstract void connect(InetAddress address, int port) throws IOException
指定されたホスト上の指定されたポートにこのソケットを接続します。- パラメータ:
address−リモート・ホストのIPアドレス。port- ポート番号。- 例外:
IOException- 接続の試行中に入出力エラーが発生した場合。
-
connect
protected abstract void connect(SocketAddress address, int timeout) throws IOException
指定されたホスト上の指定されたポートにこのソケットを接続します。 タイム・アウト0は無限のタイム・アウトとして解釈されます。 その後、接続が確立されるかエラーが発生するまで、接続がブロックされます。- パラメータ:
address−リモート・ホストのソケット・アドレス。timeout−タイム・アウト値(ミリ秒)。タイム・アウトなしの場合は0。- 例外:
IOException- 接続の試行中に入出力エラーが発生した場合。- 導入されたバージョン:
- 1.4
-
bind
protected abstract void bind(InetAddress host, int port) throws IOException
指定されたローカルのIPアドレスとポート番号にこのソケットをバインドします。- パラメータ:
host−ローカル・インタフェースに属するIPアドレス。port- ポート番号。- 例外:
IOException−このソケットをバインドするときに入出力エラーが発生した場合。
-
listen
protected abstract void listen(int backlog) throws IOException受信する接続(接続要求)を入れるキューの最大長を、count引数に設定します。 キューが埋まっているときに接続要求があると、接続は拒否されます。- パラメータ:
backlog−キューの最大長。- 例外:
IOException−キューの生成中に入出力エラーが発生した場合。
-
accept
protected abstract void accept(SocketImpl s) throws IOException
接続を受け入れます。- パラメータ:
s−受け入れる接続。- 例外:
IOException−接続の受け入れ中に入出力エラーが発生した場合。
-
getInputStream
protected abstract InputStream getInputStream() throws IOException
このソケットの入力ストリームを返します。- 戻り値:
- このソケットからの入力を読み込むためのストリーム。
- 例外:
IOException−入力ストリームの作成中に入出力エラーが発生した場合。
-
getOutputStream
protected abstract OutputStream getOutputStream() throws IOException
このソケットの出力ストリームを返します。- 戻り値:
- このソケットに書き込むための出力ストリーム。
- 例外:
IOException−出力ストリームの作成中に入出力エラーが発生した場合。
-
available
protected abstract int available() throws IOExceptionこのソケットからブロックなしで読み込めるバイト数を返します。- 戻り値:
- このソケットからブロックなしで読み込めるバイト数。
- 例外:
IOException−使用可能なバイト数の決定時に入出力エラーが発生した場合。
-
close
protected abstract void close() throws IOExceptionこのソケットを閉じます。- 例外:
IOException- このソケットを閉じるときに入出力エラーが発生した場合。
-
shutdownInput
protected void shutdownInput() throws IOExceptionこのソケットの入力ストリームを「ストリームの終わり」に設定します。 このソケットに送信されたデータはすべて、確認されたあと何の通知もなく破棄されます。 ソケットでこのメソッドを呼び出した後にソケットの入力ストリームから読み込むと、ストリームのavailableメソッドは0を返し、readメソッドは-1(ストリームの終わり)を返します。- 例外:
IOException- このソケットを停止するときに入出力エラーが発生した場合。- 導入されたバージョン:
- 1.3
- 関連項目:
Socket.shutdownOutput(),Socket.close(),Socket.setSoLinger(boolean, int)
-
shutdownOutput
protected void shutdownOutput() throws IOExceptionこのソケットの出力ストリームを無効にします。 TCPソケットの場合、それまでに書き込まれたデータのすべてが、TCPの通常の接続終了シーケンスに従って送信されます。 ソケットでshutdownOutput()を呼び出したあとにソケットの出力ストリームに書き込むと、ストリームはIOExceptionをスローします。- 例外:
IOException- このソケットを停止するときに入出力エラーが発生した場合。- 導入されたバージョン:
- 1.3
- 関連項目:
Socket.shutdownInput(),Socket.close(),Socket.setSoLinger(boolean, int)
-
getFileDescriptor
protected FileDescriptor getFileDescriptor()
このソケットのfdフィールドの値を返します。- 戻り値:
- このソケットの
fdフィールドの値。 - 関連項目:
fd
-
getInetAddress
protected InetAddress getInetAddress()
このソケットのaddressフィールドの値を返します。- 戻り値:
- このソケットの
addressフィールドの値。 - 関連項目:
address
-
getPort
protected int getPort()
このソケットのportフィールドの値を返します。- 戻り値:
- このソケットの
portフィールドの値。 - 関連項目:
port
-
supportsUrgentData
protected boolean supportsUrgentData()
このSocketImplが緊急データの送信をサポートするかどうかを返します。 このメソッドがサブクラス内でオーバーライドされていないかぎり、デフォルトではfalseが返されます。- 戻り値:
- 緊急データがサポートされている場合はtrue
- 導入されたバージョン:
- 1.4
- 関連項目:
address
-
sendUrgentData
protected abstract void sendUrgentData(int data) throws IOExceptionこのソケット上で1バイトの緊急データを送信します。 送信されるバイトは、パラメータの下位8ビットです。- パラメータ:
data- 送信するデータのバイト- 例外:
IOException- データ送信時にエラーが発生した場合。- 導入されたバージョン:
- 1.4
-
getLocalPort
protected int getLocalPort()
このソケットのlocalportフィールドの値を返します。- 戻り値:
- このソケットの
localportフィールドの値。 - 関連項目:
localport
-
toString
public String toString()
このソケットのアドレスとポートをStringとして返します。
-
setPerformancePreferences
protected void setPerformancePreferences(int connectionTime, int latency, int bandwidth)このソケットのパフォーマンス設定を行います。ソケットはデフォルトで、TCP/IPプロトコルを使用します。 実装によっては、TCP/IPとは異なるパフォーマンス特性を持つ代替プロトコルを提供することもあります。 アプリケーションは、このメソッドを使用することで、実装で利用可能なプロトコルの選択時に、これらのかね合いの取り方を示す独自の設定を表現できます。
パフォーマンス設定は、接続時間の短さ、応答時間の速さ、および帯域幅の広さの相対的な重要度を示す3つの整数値によって記述されます。 これらの整数の絶対値は重要ではありません。ある特定のプロトコルを選択するために、これらの値が単純に比較されますが、その際、値が大きければより強い設定を示します。 負の値は正の値よりも低い優先順位を表します。 たとえば、アプリケーションが応答時間の速さや帯域幅の広さよりも接続時間の短さを優先する場合には、値
(1, 0, 0)を指定してこのメソッドを呼び出すことができます。 アプリケーションが応答時間の速さよりも帯域幅の広さを優先し、接続時間の短さよりも応答時間の速さを優先する場合には、値(0, 1, 2)を指定してこのメソッドを呼び出すことができます。 このメソッドは、サブクラス内でオーバーライドされていないかぎり、デフォルトでは何も行いません。- パラメータ:
connectionTime- 接続時間の短さの相対的な重要度を表すintlatency- 応答時間の速さの相対的な重要度を表すintbandwidth- 帯域幅の広さの相対的な重要度を表すint- 導入されたバージョン:
- 1.5
-
setOption
protected <T> void setOption(SocketOption<T> name, T value) throws IOException
ソケット・オプションを設定するために呼び出されます。- 型パラメータ:
T- ソケット・オプション値のタイプ- パラメータ:
name- ソケット・オプションvalue- ソケット・オプションの値。nullの値は、一部のオプションで有効です。- 例外:
UnsupportedOperationException- SocketImplがオプションをサポートしない場合IOException- I/Oエラーが発生した場合、またはソケットが閉じられている場合。- 導入されたバージョン:
- 9
-
getOption
protected <T> T getOption(SocketOption<T> name) throws IOException
ソケット・オプションを取得するために呼び出されます。- 型パラメータ:
T- ソケット・オプション値のタイプ- パラメータ:
name- ソケット・オプション- 戻り値:
- 指定されたオプションの値
- 例外:
UnsupportedOperationException- SocketImplがオプションをサポートしていない場合。IOException- I/Oエラーが発生した場合、またはソケットが閉じられている場合。- 導入されたバージョン:
- 9
-
supportedOptions
protected Set<SocketOption<?>> supportedOptions()
このimplとthis implソケットでサポートされているSocketOptionsのセットを返します。(ソケットまたはServerSocket)- 戻り値:
- SocketOptionsのセット
- 導入されたバージョン:
- 9
-
-