次の方法で共有


AsynchronousSocketChannel クラス

定義

ストリーム指向接続ソケットの非同期チャネル。

[Android.Runtime.Register("java/nio/channels/AsynchronousSocketChannel", ApiSince=26, DoNotGenerateAcw=true)]
public abstract class AsynchronousSocketChannel : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Nio.Channels.IAsynchronousByteChannel
[<Android.Runtime.Register("java/nio/channels/AsynchronousSocketChannel", ApiSince=26, DoNotGenerateAcw=true)>]
type AsynchronousSocketChannel = class
    inherit Object
    interface IAsynchronousByteChannel
    interface IAsynchronousChannel
    interface IChannel
    interface ICloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
継承
AsynchronousSocketChannel
属性
実装

注釈

ストリーム指向接続ソケットの非同期チャネル。

非同期ソケット チャネルは、2 つの方法のいずれかで作成されます。 新しく作成 AsynchronousSocketChannel されたメソッドは、このクラスで定義されているいずれかのメソッドを #open open 呼び出すことによって作成されます。 新しく作成されたチャネルは開いていますが、まだ接続されていません。 接続 AsynchronousSocketChannel は、接続が行われたときに作成されます、 のソケット AsynchronousServerSocketChannelです。 任意の既存 java.net.Socket socketの非同期ソケット チャネルを作成することはできません。

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

この種類のチャネルは、複数の同時実行スレッドで安全に使用できます。 同時読み取りと書き込みをサポートしますが、最大で 1 つの読み取り操作と 1 つの書き込み操作をいつでも未処理にすることができます。 以前の読み取り操作が完了する前にスレッドが読み取り操作を開始すると、a ReadPendingException がスローされます。 同様に、以前の書き込みが完了する前に書き込み操作を開始しようとすると、 WritePendingException.

ソケット オプションは、メソッドを #setOption(SocketOption,Object) setOption 使用して構成されます。 非同期ソケット チャネルは、次のオプションをサポートします。<blockquote<>table class="striped"<>caption style="display:none">Socket options</caption><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> ソケット送信のサイズbuffer </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 tr<>><th scope="row">java.net.StandardSocketOptions#TCP_NODELAY TCP_NODELAY</th><td> Nagle アルゴリズム<を無効にする /td></tr></tbody></table></blockquote> 追加 (実装固有) オプションもサポートされる場合があります。

<h2>Timeouts</h2>

#read(ByteBuffer,long,TimeUnit,Object,CompletionHandler) readこのクラスで定義されているメソッドと#write(ByteBuffer,long,TimeUnit,Object,CompletionHandler) writeメソッドを使用すると、読み取りまたは書き込み操作を開始するときにタイムアウトを指定できます。 操作が完了する前にタイムアウトが経過すると、操作は例外 InterruptedByTimeoutExceptionで完了します。 タイムアウトすると、チャネルまたは基になる接続が不整合な状態になる可能性があります。 実装では、チャネルからバイトが読み取られないことを保証できない場合は、チャネルを実装固有 <の em>エラー状態</em> に配置します。 その後、操作を read 開始しようとすると、指定されていないランタイム例外がスローされます。 同様に、操作が write タイムアウトし、実装でバイトがチャネルに書き込まれていないと保証できない場合、チャネルに対して write さらに試行すると、指定されていないランタイム例外がスローされます。 タイムアウトが経過すると、I/O 操作の ByteBufferバッファーの状態 (またはバッファーのシーケンス) は定義されません。 バッファーは破棄するか、少なくとも注意して、チャネルが開いている間はバッファーにアクセスしないようにする必要があります。 タイムアウト パラメーターを受け入れるすべてのメソッドは、0 以下の値を処理して、I/O 操作がタイムアウトしないことを意味します。

1.7 で追加されました。

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

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

AsynchronousSocketChannel(AsynchronousChannelProvider)

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

AsynchronousSocketChannel(IntPtr, JniHandleOwnership)

ストリーム指向接続ソケットの非同期チャネル。

プロパティ

Class

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

(継承元 Object)
Handle

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

(継承元 Object)
IsOpen

ストリーム指向接続ソケットの非同期チャネル。

JniIdentityHashCode

ストリーム指向接続ソケットの非同期チャネル。

(継承元 Object)
JniPeerMembers

ストリーム指向接続ソケットの非同期チャネル。

LocalAddress

ストリーム指向接続ソケットの非同期チャネル。

PeerReference

ストリーム指向接続ソケットの非同期チャネル。

(継承元 Object)
RemoteAddress

ストリーム指向接続ソケットの非同期チャネル。

ThresholdClass

ストリーム指向接続ソケットの非同期チャネル。

ThresholdType

ストリーム指向接続ソケットの非同期チャネル。

メソッド

Bind(SocketAddress)

ストリーム指向接続ソケットの非同期チャネル。

Clone()

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

(継承元 Object)
Close()

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

Connect(SocketAddress)

このチャネルを接続します。

Connect(SocketAddress, Object, ICompletionHandler)

このチャネルを接続します。

Dispose()

ストリーム指向接続ソケットの非同期チャネル。

(継承元 Object)
Dispose(Boolean)

ストリーム指向接続ソケットの非同期チャネル。

(継承元 Object)
Equals(Object)

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

(継承元 Object)
GetHashCode()

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

(継承元 Object)
JavaFinalize()

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

(継承元 Object)
Notify()

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

(継承元 Object)
NotifyAll()

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

(継承元 Object)
Open()

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

Open(AsynchronousChannelGroup)

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

Provider()

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

Read(ByteBuffer)

ストリーム指向接続ソケットの非同期チャネル。

Read(ByteBuffer, Int64, TimeUnit, Object, ICompletionHandler)

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

Read(ByteBuffer, Object, ICompletionHandler)

ストリーム指向接続ソケットの非同期チャネル。

Read(ByteBuffer[], Int32, Int32, Int64, TimeUnit, Object, ICompletionHandler)

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

SetHandle(IntPtr, JniHandleOwnership)

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

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

ストリーム指向接続ソケットの非同期チャネル。

ShutdownInput()

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

ShutdownOutput()

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

ToArray<T>()

ストリーム指向接続ソケットの非同期チャネル。

(継承元 Object)
ToString()

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

(継承元 Object)
UnregisterFromRuntime()

ストリーム指向接続ソケットの非同期チャネル。

(継承元 Object)
Wait()

現在のスレッドが目覚めるまで待機させます。通常<は、通知<>/em> または <em>割り込み/em> を受け<取ります。

(継承元 Object)
Wait(Int64)

現在のスレッドが目覚めるまで待機します。通常<><は、通知/em> または <em>中断</em> によって、または一定のリアルタイムが経過するまで待機します。

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

現在のスレッドが目覚めるまで待機します。通常<><は、通知/em> または <em>中断</em> によって、または一定のリアルタイムが経過するまで待機します。

(継承元 Object)
Write(ByteBuffer)

ストリーム指向接続ソケットの非同期チャネル。

Write(ByteBuffer, Int64, TimeUnit, Object, ICompletionHandler)

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

Write(ByteBuffer, Object, ICompletionHandler)

ストリーム指向接続ソケットの非同期チャネル。

Write(ByteBuffer[], Int32, Int32, Int64, TimeUnit, Object, ICompletionHandler)

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

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

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)

ストリーム指向接続ソケットの非同期チャネル。

適用対象