- java.lang.Object
-
- java.net.SocketImpl
-
- すべての実装されたインタフェース:
SocketOptions
public abstract class SocketImpl extends Object implements SocketOptions
抽象クラスSocketImpl
は、実際にソケットを実装するすべてのクラスに共通のスーパー・クラスです。 これはクライアント・ソケット、サーバー・ソケットの両方の作成に使用されます。「プレーンな」ソケットは、各メソッドを記述のとおりに実装します。ファイアウォールやプロキシは使用しません。
- 導入されたバージョン:
- 1.0
-
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 protected InetAddress
address
このソケットのリモート側のIPアドレスです。protected FileDescriptor
fd
このソケットのファイル記述子オブジェクトです。protected int
localport
このソケットの接続先のローカル・ポート番号です。protected int
port
このソケットの接続先のリモート・ホスト上にあるポート番号です。-
インタフェース 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 void
accept(SocketImpl s)
接続を受け入れます。protected abstract int
available()
このソケットからブロックなしで読み込めるバイト数を返します。protected abstract void
bind(InetAddress host, int port)
指定されたローカルのIPアドレスとポート番号にこのソケットをバインドします。protected abstract void
close()
このソケットを閉じます。protected abstract void
connect(String host, int port)
指定されたホスト上の指定されたポートにこのソケットを接続します。protected abstract void
connect(InetAddress address, int port)
指定されたホスト上の指定されたポートにこのソケットを接続します。protected abstract void
connect(SocketAddress address, int timeout)
指定されたホスト上の指定されたポートにこのソケットを接続します。protected abstract void
create(boolean stream)
ストリーム・ソケットまたはデータグラム・ソケットを作成します。protected FileDescriptor
getFileDescriptor()
このソケットのfd
フィールドの値を返します。protected InetAddress
getInetAddress()
このソケットのaddress
フィールドの値を返します。protected abstract InputStream
getInputStream()
このソケットの入力ストリームを返します。protected int
getLocalPort()
このソケットのlocalport
フィールドの値を返します。protected <T> T
getOption(SocketOption<T> name)
ソケット・オプションを取得するために呼び出されます。protected abstract OutputStream
getOutputStream()
このソケットの出力ストリームを返します。protected int
getPort()
このソケットのport
フィールドの値を返します。protected abstract void
listen(int backlog)
受信する接続(接続要求)を入れるキューの最大長を、count
引数に設定します。protected abstract void
sendUrgentData(int data)
このソケット上で1バイトの緊急データを送信します。protected <T> void
setOption(SocketOption<T> name, T value)
ソケット・オプションを設定するために呼び出されます。protected void
setPerformancePreferences(int connectionTime, int latency, int bandwidth)
このソケットのパフォーマンス設定を行います。protected void
shutdownInput()
このソケットの入力ストリームを「ストリームの終わり」に設定します。protected void
shutdownOutput()
このソケットの出力ストリームを無効にします。protected Set<SocketOption<?>>
supportedOptions()
このimplとthis implソケットでサポートされているSocketOptionsのセットを返します。(ソケットまたはServerSocket)protected boolean
supportsUrgentData()
このSocketImplが緊急データの送信をサポートするかどうかを返します。String
toString()
このソケットのアドレスとポートを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
- 接続時間の短さの相対的な重要度を表すint
latency
- 応答時間の速さの相対的な重要度を表すint
bandwidth
- 帯域幅の広さの相対的な重要度を表す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
-
-