NetworkStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ストリームへの非同期の書き込みを開始します。
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ buffer, int offset, int size, AsyncCallback ^ callback, System::Object ^ state);
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ callback, System::Object ^ state);
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int size, AsyncCallback? callback, object? state);
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int count, AsyncCallback? callback, object? state);
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int size, AsyncCallback callback, object state);
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginWrite (buffer As Byte(), offset As Integer, size As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
Public Overrides Function BeginWrite (buffer As Byte(), offset As Integer, count As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
パラメーター
- buffer
- Byte[]
Byte に書き込むデータを格納する NetworkStream 型の配列。
- offset
- Int32
データの送信を開始する buffer
内の場所。
- sizecount
- Int32
NetworkStream に書き込むバイト数。
- callback
- AsyncCallback
AsyncCallback の完了時に実行される BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) デリゲート。
- state
- Object
追加のユーザー定義のデータを格納するオブジェクト。
戻り値
非同期呼び出しを表す IAsyncResult。
例外
buffer
パラメーターが null
です。
offset
パラメーターが 0 未満です。
- または -
offset
パラメーターが buffer
の長さを超えています。
- または -
size
パラメーターが 0 未満です。
- または -
size
パラメーターが、buffer
パラメーターの値を引いた offset
の長さを超えています。
NetworkStream が閉じています。
注釈
重要
これは互換性 API です。新しい開発に APM (Begin/End) メソッドを使用することはお勧めしません。 代わりに、タスク ベースの同等のものを使用します。
を実装AsyncCallbackBeginWriteするコールバックを渡して、操作の完了に関する通知を受け取ることができます。 基になるネットワーク スタックが同期的に操作を完了すると、 への呼び出し BeginWrite中にコールバックがインラインで実行されることに注意してください。 この場合、 CompletedSynchronously 返される IAsyncResult の プロパティは に true
設定され、メソッドが同期的に完了したことを示します。 メソッドに AsyncState 渡される状態オブジェクトを取得するには、 の プロパティ IAsyncResult を BeginWrite 使用します。
メソッドを BeginWrite 呼び出して操作を完了する EndWrite 必要があります。 通常、 メソッドは、指定 AsyncCallback されたデリゲートによって呼び出されます。 EndWrite は、操作が完了するまで呼び出し元のスレッドをブロックします。
注意
をIOException受け取った場合は、 プロパティをInnerExceptionチェックして、 SocketExceptionが原因かどうかを判断します。 その場合は、 プロパティを ErrorCode 使用して特定のエラー コードを取得します。
読み取り操作と書き込み操作は、同期を必要とせずに、 クラスの NetworkStream インスタンスで同時に実行できます。 書き込み操作に一意のスレッドが 1 つあり、読み取り操作に 1 つの一意のスレッドがある限り、読み取りスレッドと書き込みスレッドの間に相互干渉はなく、同期は必要ありません。
適用対象
こちらもご覧ください
.NET