SocketChannel クラス

定義

ストリーム指向接続ソケット用の選択可能なチャネル。

[Android.Runtime.Register("java/nio/channels/SocketChannel", DoNotGenerateAcw=true)]
public abstract class SocketChannel : Java.Nio.Channels.Spi.AbstractSelectableChannel, IDisposable, Java.Interop.IJavaPeerable, Java.Nio.Channels.IByteChannel, Java.Nio.Channels.IGatheringByteChannel, Java.Nio.Channels.IScatteringByteChannel
[<Android.Runtime.Register("java/nio/channels/SocketChannel", DoNotGenerateAcw=true)>]
type SocketChannel = class
    inherit AbstractSelectableChannel
    interface IByteChannel
    interface IReadableByteChannel
    interface IChannel
    interface ICloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IWritableByteChannel
    interface IGatheringByteChannel
    interface IScatteringByteChannel
継承
属性
実装

注釈

ストリーム指向接続ソケット用の選択可能なチャネル。

ソケット チャネルは、このクラスのいずれかのメソッドを #open open 呼び出すことによって作成されます。 任意の既存のソケットのチャネルを作成することはできません。 新しく作成されたソケット チャネルは開いていますが、まだ接続されていません。 接続されていないチャネルで I/O 操作を呼び出そうとすると、 が NotYetConnectedException スローされます。 ソケット チャネルは、その #connect connect メソッドを呼び出すことによって接続できます。接続されると、ソケット チャネルは閉じられるまで接続されたままになります。 ソケット チャネルが接続されているかどうかは、その #isConnected isConnected メソッドを呼び出すことによって決定できます。

ソケット チャネルは、非ブロッキング接続をサポートしています: ソケット チャネルが作成され、リモート ソケットへのリンクを確立するプロセスが、 メソッドによって#finishConnect finishConnect後で完了するために メソッドを#connect connect介して開始される場合があります。 接続操作が進行中かどうかは、 メソッドを #isConnectionPending isConnectionPending 呼び出すことによって決定できます。

ソケット チャネルは 非同期シャットダウン をサポートします。これは、 クラスで指定された非同期クローズ操作に Channel 似ています。 ソケットの入力側が 1 つのスレッドによってシャットダウンされ、ソケットのチャネルの読み取り操作で別のスレッドがブロックされている場合、ブロックされたスレッドの読み取り操作はバイトを読み取らずに完了し、 が返 -1されます。 ソケットの出力側が 1 つのスレッドによってシャットダウンされ、ソケットのチャネルの書き込み操作で別のスレッドがブロックされている場合、ブロックされたスレッドは を AsynchronousCloseException受け取ります。

ソケット オプションは、 メソッドを #setOption(SocketOption,Object) setOption 使用して構成されます。 ソケット チャネルでは、次のオプションがサポートされています。 <blockquote<>table class="striped"><キャプション style="display:none">Socket options</キャプション><thead><tr><th scope="col">Option Name</th th><scope="col">Description</th></tr></thead<>tbody<>tr<>th scope="row"/>java.net.StandardSocketOptions#SO_SNDBUF SO_SNDBUF<th>td> ソケット送信バッファー<のサイズ /td<>/tr tr<<>>th scope="row"<>java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF/th<>td> ソケット受信バッファー<のサイズ /td<>/tr tr<<>>th scope="row"java.net.StandardSocketOptions#SO_KEEPALIVE SO_KEEPALIVE></th<>td> Keep connection alive </td></tr tr<><>th scope="row"<>java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR/th<>td Re-use address </td><>/tr<>><><java.net.StandardSocketOptions#SO_LINGER SO_LINGER<>データ><が存在する場合 (ブロック モードでのみ構成されている場合) </td/tr tr><th><scope="row"java.net.StandardSocketOptions#TCP_NODELAY TCP_NODELAY<>/th><td> Nagle アルゴリズム </td><<>/tr></tbody<>/table></blockquote> 追加 (実装固有) オプションもサポートされる場合があります。

ソケット チャネルは、複数の同時実行スレッドで使用しても安全です。 同時読み取りと書き込みをサポートしていますが、最大で 1 つのスレッドが読み取りであり、最大 1 つのスレッドが任意の時点で書き込みを行う場合があります。 #connect connectメソッドと #finishConnect finishConnect メソッドは相互に同期され、これらのメソッドの呼び出しが進行中に読み取り操作または書き込み操作を開始しようとすると、その呼び出しが完了するまでブロックされます。

1.4 で追加されました。

の Java ドキュメント java.nio.channels.SocketChannel

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

SocketChannel(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

SocketChannel(SelectorProvider)

このクラスの新しいインスタンスを初期化します。

プロパティ

Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
IsBlocking

このチャネルがブロッキング モードであるかどうかを示します。

(継承元 AbstractSelectableChannel)
IsConnected

このチャネルのソケットが接続されているかどうかを示します。

IsConnectionPending

このチャネルのソケットがまだ接続しようとしているかどうかを示します。

IsOpen

このチャネルが開いている場合は true を返します。

(継承元 AbstractInterruptibleChannel)
IsRegistered

このチャネルが 1 つ以上のセレクターに登録されているかどうかを示します。

(継承元 AbstractSelectableChannel)
JniIdentityHashCode

ストリーム指向接続ソケット用の選択可能なチャネル。

(継承元 Object)
JniPeerMembers

ストリーム指向接続ソケット用の選択可能なチャネル。

LocalAddress

ストリーム指向接続ソケット用の選択可能なチャネル。

PeerReference

ストリーム指向接続ソケット用の選択可能なチャネル。

(継承元 Object)
RemoteAddress

ストリーム指向接続ソケット用の選択可能なチャネル。

ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用することを意図したものではありません。

ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用することを意図したものではありません。

メソッド

Begin()

無期限にブロックする可能性がある I/O 操作の開始をマークします。

(継承元 AbstractInterruptibleChannel)
Bind(SocketAddress)

1 に追加されました。

BlockingLock()

と の同期 register に使用される オブジェクトを configureBlocking取得します。

(継承元 AbstractSelectableChannel)
Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Close()

このチャネルを閉じます。

(継承元 AbstractInterruptibleChannel)
ConfigureBlocking(Boolean)

このチャネルのブロッキング モードを調整します。

(継承元 AbstractSelectableChannel)
Connect(SocketAddress)

このチャネルのソケットを接続します。

ConnectAsync(SocketAddress)

ストリーム指向接続ソケット用の選択可能なチャネル。

Dispose()

ストリーム指向接続ソケット用の選択可能なチャネル。

(継承元 Object)
Dispose(Boolean)

ストリーム指向接続ソケット用の選択可能なチャネル。

(継承元 Object)
End(Boolean)

無期限にブロックする可能性がある I/O 操作の終了をマークします。

(継承元 AbstractInterruptibleChannel)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
FinishConnect()

ソケット チャネルを接続するプロセスを終了します。

FinishConnectAsync()

ストリーム指向接続ソケット用の選択可能なチャネル。

GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
ImplCloseChannel()

このチャネルを閉じます。

(継承元 AbstractSelectableChannel)
ImplCloseSelectableChannel()

この選択可能なチャネルを閉じます。

(継承元 AbstractSelectableChannel)
ImplConfigureBlocking(Boolean)

このチャネルのブロッキング モードを調整します。

(継承元 AbstractSelectableChannel)
JavaFinalize()

ガベージ コレクションがオブジェクトへの参照がなくなったと判断したときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
KeyFor(Selector)

指定したセレクターのこのチャネルの選択キーを取得します。

(継承元 AbstractSelectableChannel)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドをウェイクアップします。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドをウェイクアップします。

(継承元 Object)
Open()

ソケット チャネルを開きます。

Open(SocketAddress)

ソケット チャネルを開き、リモート アドレスに接続します。

Provider()

このチャネルを作成したプロバイダーを返します。

(継承元 AbstractSelectableChannel)
Read(ByteBuffer)

このソケット チャネルから特定のバッファーにバイトを読み取ります。

Read(ByteBuffer[])

このソケット チャネルからバイトを読み取り、指定されたバッファー配列に格納します。

Read(ByteBuffer[], Int32, Int32)

このソケット チャネルから特定のバッファーのサブセットにバイトを読み取ります。

Register(Selector, Operations)

このチャネルを指定されたセレクターに登録し、選択キーを返します。

(継承元 SelectableChannel)
Register(Selector, Operations, Object)

このチャネルを指定されたセレクターに登録し、選択キーを返します。

(継承元 AbstractSelectableChannel)
SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetOption(ISocketOption, Object)

1 に追加されました。

ShutdownInput()

チャネルを閉じずに読み取り用の接続をシャットダウンします。

ShutdownOutput()

チャネルを閉じずに書き込み用に接続をシャットダウンします。

Socket()

このチャネルに関連付けられているソケットを取得します。

ToArray<T>()

ストリーム指向接続ソケット用の選択可能なチャネル。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

ストリーム指向接続ソケット用の選択可能なチャネル。

(継承元 Object)
ValidOps()

このチャネルでサポートされている操作を識別する操作セットを返します。

Wait()

現在のスレッドが起動するまで待機します。通常<>は、通知</em> または <em>割り込み</em によって待機します>。

(継承元 Object)
Wait(Int64)

現在のスレッドが起動するまで待機します。通常<>は、通知</em> または>< em 割り込み</em>、または一定のリアルタイムが経過するまで待機します。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドが起動するまで待機します。通常<>は、通知</em> または>< em 割り込み</em>、または一定のリアルタイムが経過するまで待機します。

(継承元 Object)
Write(ByteBuffer)

指定されたバイト バッファーからこのソケット チャネルにバイトを書き込みます。

Write(ByteBuffer[])

指定されたすべてのバイト バッファーからこのソケット チャネルにバイトを書き込みます。

Write(ByteBuffer[], Int32, Int32)

バッファーからこのソケット チャネルに、指定されたバイトのサブセットを書き込もうとします。

明示的なインターフェイスの実装

IJavaPeerable.Disposed()

ストリーム指向接続ソケット用の選択可能なチャネル。

(継承元 Object)
IJavaPeerable.DisposeUnlessReferenced()

ストリーム指向接続ソケット用の選択可能なチャネル。

(継承元 Object)
IJavaPeerable.Finalized()

ストリーム指向接続ソケット用の選択可能なチャネル。

(継承元 Object)
IJavaPeerable.JniManagedPeerState

ストリーム指向接続ソケット用の選択可能なチャネル。

(継承元 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

ストリーム指向接続ソケット用の選択可能なチャネル。

(継承元 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

ストリーム指向接続ソケット用の選択可能なチャネル。

(継承元 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

ストリーム指向接続ソケット用の選択可能なチャネル。

(継承元 Object)

拡張メソッド

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

ストリーム指向接続ソケット用の選択可能なチャネル。

GetJniTypeName(IJavaPeerable)

ストリーム指向接続ソケット用の選択可能なチャネル。

WriteAsync(IGatheringByteChannel, ByteBuffer[])

ストリーム指向接続ソケット用の選択可能なチャネル。

WriteAsync(IGatheringByteChannel, ByteBuffer[], Int32, Int32)

ストリーム指向接続ソケット用の選択可能なチャネル。

ReadAsync(IReadableByteChannel, ByteBuffer)

ストリーム指向接続ソケット用の選択可能なチャネル。

ReadAsync(IScatteringByteChannel, ByteBuffer[])

ストリーム指向接続ソケット用の選択可能なチャネル。

ReadAsync(IScatteringByteChannel, ByteBuffer[], Int32, Int32)

ストリーム指向接続ソケット用の選択可能なチャネル。

WriteAsync(IWritableByteChannel, ByteBuffer)

ストリーム指向接続ソケット用の選択可能なチャネル。

適用対象