Socket.BeginSendFile メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
接続された Socket オブジェクトに、ファイルを非同期的に送信します。
オーバーロード
BeginSendFile(String, AsyncCallback, Object) |
UseDefaultWorkerThread フラグを使用して、接続されている Socket オブジェクトにファイル |
BeginSendFile(String, Byte[], Byte[], TransmitFileOptions, AsyncCallback, Object) |
接続された Socket オブジェクトに、ファイルとデータのバッファーを非同期的に送信します。 |
BeginSendFile(String, AsyncCallback, Object)
- ソース:
- Socket.cs
- ソース:
- Socket.cs
- ソース:
- Socket.cs
UseDefaultWorkerThread フラグを使用して、接続されている Socket オブジェクトにファイル fileName
を送信します。
public:
IAsyncResult ^ BeginSendFile(System::String ^ fileName, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginSendFile (string fileName, AsyncCallback? callback, object? state);
public IAsyncResult BeginSendFile (string? fileName, AsyncCallback? callback, object? state);
public IAsyncResult BeginSendFile (string fileName, AsyncCallback callback, object state);
member this.BeginSendFile : string * AsyncCallback * obj -> IAsyncResult
Public Function BeginSendFile (fileName As String, callback As AsyncCallback, state As Object) As IAsyncResult
パラメーター
- fileName
- String
送信するファイルのパスと名前を格納する文字列。 このパラメーターは、null
に設定できます。
- callback
- AsyncCallback
AsyncCallback デリゲート。
- state
- Object
この要求の状態情報を格納するオブジェクト。
戻り値
非同期送信を表す IAsyncResult オブジェクト。
例外
Socket オブジェクトは閉じられています。
ソケットがリモート ホストに接続されていません。
ファイル fileName
が見つかりませんでした。
.NET Framework および .NET 5 以前のみ: ソケットにアクセスしようとしたときにエラーが発生しました。 以下の解説を参照してください。
注釈
重要
これは互換性 API です。 新しい開発に APM (Begin*
および End*
) メソッドを使用することはお勧めしません。 代わりに、 ベースの Task
同等のものを使用します。
このオーバーロードは、ソケット経由でファイル fileName
を送信します。 がローカル ディレクトリ内にある場合 fileName
は、ファイルの名前だけで識別できます。それ以外の場合は、ファイルの完全なパスと名前を指定する必要があります。 ワイルドカード ("..\\myfile.txt") と UNC 共有名 ("\\\\shared directory\\myfile.txt") がサポートされています。 ファイルが見つからない場合は、例外 FileNotFoundException がスローされます。
を実装AsyncCallbackBeginSendFileするコールバックを渡して、操作の完了に関する通知を受け取ることができます。 基になるネットワーク スタックが同期的に操作を完了すると、 への呼び出し BeginSendFile中にコールバックがインラインで実行されることに注意してください。 この場合、 CompletedSynchronously 返される IAsyncResult の プロパティは に true
設定され、メソッドが同期的に完了したことを示します。 メソッドに AsyncState 渡される状態オブジェクトを取得するには、 の プロパティ IAsyncResult を BeginSendFile 使用します。
メソッドを BeginSendFile 呼び出して操作を完了する EndSendFile 必要があります。 通常、 メソッドはデリゲートによって AsyncCallback 呼び出されます。 EndSendFile は、操作が完了するまで呼び出し元のスレッドをブロックします。
接続指向プロトコルを対象としていますが、 BeginSendFile または メソッドを最初に呼び出してConnectBeginConnect既定のリモート ホストを確立する場合は、コネクションレス プロトコルでも機能します。 コネクションレス プロトコルでは、ファイルのサイズが基になるサービス プロバイダーの最大パケット サイズを超えていないことを確認する必要があります。 送信された場合、データグラムは送信されず、 BeginSendFile 例外が SocketException スローされます。
注意
例外が発生した場合は SocketException 、 プロパティを SocketException.ErrorCode 使用して特定のエラー コードを取得します。
Note
このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.NET Frameworkのネットワーク トレース」を参照してください。
注意
実行コンテキスト (セキュリティ コンテキスト、偽装されたユーザー、および呼び出し元のコンテキスト) は、非同期 Socket メソッド用にキャッシュされます。 特定のコンテキスト (特定の非同期 Socket メソッド、特定 Socket のインスタンス、および特定のコールバック) を最初に使用した後、そのコンテキストを後続で使用すると、パフォーマンスが向上します。
適用対象
BeginSendFile(String, Byte[], Byte[], TransmitFileOptions, AsyncCallback, Object)
- ソース:
- Socket.cs
- ソース:
- Socket.cs
- ソース:
- Socket.cs
接続された Socket オブジェクトに、ファイルとデータのバッファーを非同期的に送信します。
public:
IAsyncResult ^ BeginSendFile(System::String ^ fileName, cli::array <System::Byte> ^ preBuffer, cli::array <System::Byte> ^ postBuffer, System::Net::Sockets::TransmitFileOptions flags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginSendFile (string? fileName, byte[]? preBuffer, byte[]? postBuffer, System.Net.Sockets.TransmitFileOptions flags, AsyncCallback? callback, object? state);
public IAsyncResult BeginSendFile (string fileName, byte[] preBuffer, byte[] postBuffer, System.Net.Sockets.TransmitFileOptions flags, AsyncCallback callback, object state);
member this.BeginSendFile : string * byte[] * byte[] * System.Net.Sockets.TransmitFileOptions * AsyncCallback * obj -> IAsyncResult
Public Function BeginSendFile (fileName As String, preBuffer As Byte(), postBuffer As Byte(), flags As TransmitFileOptions, callback As AsyncCallback, state As Object) As IAsyncResult
パラメーター
- fileName
- String
送信されるファイルのパスと名前を格納する文字列。 このパラメーターは、null
に設定できます。
- preBuffer
- Byte[]
ファイルが送信される前に送信されるデータ。 このパラメーターは、null
に設定できます。
- postBuffer
- Byte[]
ファイルの送信後に送信されるデータ。 このパラメーターは、null
に設定できます。
- flags
- TransmitFileOptions
列挙値のビットごとの組み合わせ。
- callback
- AsyncCallback
このオプションの完了時に呼び出される AsyncCallback デリゲート。 このパラメーターは、null
に設定できます。
- state
- Object
この要求の状態情報を格納するユーザー定義のオブジェクト。 このパラメーターは、null
に設定できます。
戻り値
非同期操作を表す IAsyncResult オブジェクト。
例外
Socket オブジェクトは閉じられています。
.NET Framework および .NET 5 以前のみ: ソケットにアクセスしようとしたときにエラーが発生しました。 以下の解説を参照してください。
ファイル fileName
が見つかりませんでした。
注釈
重要
これは互換性 API です。 新しい開発に APM (Begin*
および End*
) メソッドを使用することはお勧めしません。 代わりに、 ベースの Task
同等のものを使用します。
このオーバーロードには、送信するファイルの名前と、値のビットごとの組み合わせが TransmitFileOptions 必要です。 パラメーターには preBuffer
、ファイルの前に必要なデータが含まれています。
postBuffer
には、ファイルに従うデータが含まれています。 がローカル ディレクトリ内にある場合 fileName
は、ファイルの名前だけで識別できます。それ以外の場合は、ファイルの完全なパスと名前を指定する必要があります。 ワイルドカード ("..\\myfile.txt") と UNC 共有名 ("\\\\shared directory\\myfile.txt") がサポートされています。 ファイルが見つからない場合は、例外 FileNotFoundException がスローされます。
パラメーターは flags
、ファイル転送に関する追加情報を提供します。 このパラメーターの使用方法の詳細については、「」を参照してください TransmitFileOptions。
を実装AsyncCallbackBeginSendFileするコールバックを渡して、操作の完了に関する通知を受け取ることができます。 基になるネットワーク スタックが同期的に操作を完了すると、 への呼び出し BeginSendFile中にコールバックがインラインで実行されることに注意してください。 この場合、 CompletedSynchronously 返される IAsyncResult の プロパティは に true
設定され、メソッドが同期的に完了したことを示します。 メソッドに AsyncState 渡される状態オブジェクトを取得するには、 の プロパティ IAsyncResult を BeginSendFile 使用します。
メソッドを BeginSendFile 呼び出して操作を完了する EndSendFile 必要があります。 通常、 メソッドは、指定された AsyncCallback デリゲートによって呼び出されます。 EndSendFile は、操作が完了するまで呼び出し元のスレッドをブロックします。
接続指向プロトコルを対象としていますが、 BeginSendFile または メソッドを最初に呼び出してConnectBeginConnect既定のリモート ホストを確立する場合は、コネクションレス プロトコルでも機能します。 コネクションレス プロトコルでは、ファイルのサイズが基になるサービス プロバイダーの最大パケット サイズを超えていないことを確認する必要があります。 送信された場合、データグラムは送信されず、 BeginSendFile 例外が SocketException スローされます。
注意
例外が発生した場合は SocketException 、 プロパティを SocketException.ErrorCode 使用して特定のエラー コードを取得します。
Note
このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.NET Frameworkのネットワーク トレース」を参照してください。
注意
実行コンテキスト (セキュリティ コンテキスト、偽装されたユーザー、および呼び出し元のコンテキスト) は、非同期 Socket メソッド用にキャッシュされます。 特定のコンテキスト (特定の非同期 Socket メソッド、特定 Socket のインスタンス、および特定のコールバック) を最初に使用した後、そのコンテキストを後続で使用すると、パフォーマンスが向上します。
適用対象
.NET