Socket.SendFile メソッドとは? わかりやすく解説

Socket.SendFile メソッド (String, Byte[], Byte[], TransmitFileOptions)

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

TransmitFileOptions 値を指定して接続されている Socket オブジェクトファイル fileName およびデータバッファ送信します

名前空間: System.Net.Sockets
アセンブリ: System (system.dll 内)
構文構文

Public Sub SendFile ( _
    fileName As String, _
    preBuffer As Byte(), _
    postBuffer As Byte(), _
    flags As TransmitFileOptions _
)
Dim instance As Socket
Dim fileName As String
Dim preBuffer As Byte()
Dim postBuffer As Byte()
Dim flags As TransmitFileOptions

instance.SendFile(fileName, preBuffer, postBuffer, flags)
public void SendFile (
    string fileName,
    byte[] preBuffer,
    byte[] postBuffer,
    TransmitFileOptions flags
)
public:
void SendFile (
    String^ fileName, 
    array<unsigned char>^ preBuffer, 
    array<unsigned char>^ postBuffer, 
    TransmitFileOptions flags
)
public void SendFile (
    String fileName, 
    byte[] preBuffer, 
    byte[] postBuffer, 
    TransmitFileOptions flags
)
public function SendFile (
    fileName : String, 
    preBuffer : byte[], 
    postBuffer : byte[], 
    flags : TransmitFileOptions
)

パラメータ

fileName

送信されるファイルパスと名前を格納する String。このパラメータは、null 参照 (Visual Basic では Nothing) の場合あります

preBuffer

ファイル送信される前に送信されるデータ格納する Byte 配列。このパラメータは、null 参照 (Visual Basic では Nothing) の場合あります

postBuffer

ファイル送信され後で送信されるデータ格納する Byte 配列。このパラメータは、null 参照 (Visual Basic では Nothing) の場合あります

flags

1 つ上の TransmitFileOptions 値。

例外例外
例外種類条件

NotSupportedException

オペレーティング システムWindows NT 以降ではありません。

または

ソケットリモート ホスト接続されていません。

ObjectDisposedException

Socket オブジェクト閉じられています。

InvalidOperationException

Socket オブジェクトは非ブロッキング モードではなく、この同期呼び出し受け入れることができません。

FileNotFoundException

ファイル fileName が見つかりませんでした

SocketException

ソケットへのアクセス試みているときにエラー発生しました詳細については「解説」を参照してください

解説解説

このオーバーロードには、送信するファイルの名前と TransmitFileOptions の値のビットごとの組み合わせが必要です。preBuffer パラメータには、ファイル前に送信するデータ格納しますpostBuffer には、ファイルの後に送信するデータ格納しますfileName現在の作業ディレクトリ格納されている場合は、ファイルの名前だけで識別できますそれ以外場合は、完全パスファイルの名前を指定する必要がありますワイルドカード ("..\\myfile.txt") および UNC 共有名 ("\\\\shared directory\\myfile.txt") がサポートされます。

flags パラメータによって、ファイル転送に関する追加情報と共に Windows Sockets サービス プロバイダ提供されます。このパラメータ使用方法詳細については、TransmitFileOptionsトピック参照してください

このメソッドは、Windows Sockets 2 API にある TransmitFile 関数使用しますTransmitFile 関数フラグ詳細については、MSDN ライブラリWindows Sockets のドキュメント参照してください

SendFile は、Connect メソッドまたは Accept メソッド指定されリモート ホスト同期的ファイル送信しますSendFile は、コネクション指向プロトコルコネクションレスプロトコル両方使用できます

コネクションレスプロトコル使用している場合は、このメソッド呼び出す前に Connect呼び出す必要があります。これをしないと、SendFileSocketExceptionスローます。コネクション指向プロトコル使用する場合は、Connect使用してリモート ホストとの接続確立するか、Accept使用して受信接続受け入れる必要があります

コネクション指向プロトコル使用している場合SendFile は、ファイル全体送信されるまでブロックします。非ブロッキング モードでは、ファイル全体送信される前にSendFile正常に完了することもあります送信したデータがすぐにネットワーク上に現れることは保証されません。ネットワーク効率高めるため、基になっているシステムは、十分な量の送信データ収集されるまで送信遅延することがありますSendFile メソッド正常に完了した場合は、基になるシステムネットワーク送信のためにデータバッファする余地があったことを示します

メモメモ

SocketException発生した場合は、SocketException.ErrorCode プロパティ使用して具体的なエラー コード取得してください。このコード取得したら、Windows Socket Version 2 API エラー コードドキュメントエラー詳細情報確認してください。これは MSDN ライブラリから入手できます

使用例使用例

ソケット作成して接続するコード例次に示しますファイル "test.txt" は、ローカル コンピュータルート ディレクトリあります。この例では、事前バッファリング事後バッファリングデータ作成し、それらをファイルと共にリモート ホスト送信します既定TransmitFileOptions使用されます。

// Establish the local endpoint for the socket.
IPHostEntry ipHost = Dns.Resolve(Dns.GetHostName());
IPAddress  ipAddr = ipHost.AddressList[0];
IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 11000);

// Create a TCP socket.
Socket client = new Socket(AddressFamily.InterNetwork,
        SocketType.Stream, ProtocolType.Tcp);

// Connect the socket to the remote endpoint.
client.Connect(ipEndPoint);

// Send file fileName to the remote host with preBuffer and postBuffer
 data.
// There is a text file test.txt located in the root directory.
string fileName = "C:\\test.txt";
       
// Create the preBuffer data.
string string1 = String.Format("This is text data that precedes
 the file.{0}", Environment.NewLine);
byte[] preBuf = Encoding.ASCII.GetBytes(string1);

// Create the postBuffer data.
string string2 = String.Format("This is text data that will
 follow the file.{0}", Environment.NewLine);
byte[] postBuf = Encoding.ASCII.GetBytes(string2);

//Send file fileName with buffers and default flags to the remote device.
Console.WriteLine("Sending {0} with buffers to the host.{1}", fileName,
 Environment.NewLine);
client.SendFile(fileName, preBuf, postBuf, TransmitFileOptions.UseDefaultWorkerThread);

// Release the socket.
client.Shutdown(SocketShutdown.Both);
client.Close();

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Socket.SendFile メソッド (String)

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

UseDefaultWorkerThread 送信フラグ使用して接続されている Socket オブジェクトファイル fileName送信します

名前空間: System.Net.Sockets
アセンブリ: System (system.dll 内)
構文構文

例外例外
例外種類条件

NotSupportedException

ソケットリモート ホスト接続されていません。

ObjectDisposedException

Socket オブジェクト閉じられています。

InvalidOperationException

Socket オブジェクトは非ブロッキング モードではなく、この同期呼び出し受け入れることができません。

FileNotFoundException

ファイル fileName が見つかりませんでした

SocketException

ソケットへのアクセス試みているときにエラー発生しました詳細については「解説」を参照してください

解説解説

このオーバーロードは、接続されているソケットファイル fileName送信しますflags パラメータ既定値UseDefaultWorkerThread (0) で、preBuffer パラメータpostBuffer パラメータ既定値null 参照 (Visual Basic では Nothing) です。fileNameローカル ディレクトリ格納されている場合は、ファイルの名前だけで識別できますそれ以外場合は、完全パスファイルの名前を指定する必要がありますワイルドカード ("..\\myfile.txt") および UNC 共有名 ("\\\\shared directory\\myfile.txt") がサポートされます。ファイルが見つからない場合は、例外 FileNotFoundExceptionスローさます。

このメソッドは、Windows Sockets 2 API にある TransmitFile 関数使用しますTransmitFile 関数フラグ詳細については、MSDN ライブラリWindows Sockets のドキュメント参照してください

SendFile は、Connect メソッドまたは Accept メソッド指定されリモート ホスト同期的ファイル送信しますSendFile は、コネクション指向プロトコルコネクションレスプロトコル両方使用できます

コネクションレスプロトコル使用している場合は、このメソッド呼び出す前に Connect呼び出す必要があります。これをしないと、SendFileSocketException 例外スローます。コネクション指向プロトコル使用している場合は、Connect使用してリモート ホストとの接続確立するか、Accept使用して受信接続受け入れる必要があります

コネクション指向プロトコル使用している場合SendFile は、ファイル送信されるまでブロックします。非ブロッキング モードでは、ファイル全体送信される前にSendFile正常に完了することもあります送信したデータがすぐにネットワーク上に現れることは保証されません。ネットワーク効率高めるため、基になっているシステムは、十分な量の送信データ収集されるまで送信遅延することがありますSendFile メソッド正常に完了した場合は、基になるシステムネットワーク送信のためにデータバッファする余地があったことを示します

メモメモ

SocketException発生した場合は、SocketException.ErrorCode プロパティ使用して具体的なエラー コード取得してください。このコード取得したら、Windows Socket Version 2 API エラー コードドキュメントエラー詳細情報確認してください。これは MSDN ライブラリから入手できます

使用例使用例

ソケット作成して接続しリモート ホストファイル送信するコード例次に示しますファイル "test.txt" は、ローカル コンピュータルート ディレクトリあります

// Establish the local endpoint for the socket.
IPHostEntry ipHost = Dns.Resolve(Dns.GetHostName());
IPAddress  ipAddr = ipHost.AddressList[0];
IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 11000);

// Create a TCP socket.
Socket client = new Socket(AddressFamily.InterNetwork,
        SocketType.Stream, ProtocolType.Tcp);

// Connect the socket to the remote endpoint.
client.Connect(ipEndPoint);

// There is a text file test.txt located in the root directory.
string fileName = "C:\\test.txt";
        
// Send file fileName to remote device
Console.WriteLine("Sending {0} to the host.", fileName);
client.SendFile(fileName);

// Release the socket.
client.Shutdown(SocketShutdown.Both);
client.Close();
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Socket.SendFile メソッド

接続されSocket に、ファイルおよびオプション データ同期的送信します
オーバーロードの一覧オーバーロードの一覧

名前 説明
Socket.SendFile (String) UseDefaultWorkerThread 送信フラグ使用して接続されている Socket オブジェクトファイル fileName送信します
Socket.SendFile (String, Byte[], Byte[], TransmitFileOptions) TransmitFileOptions 値を指定して接続されている Socket オブジェクトファイル fileName およびデータバッファ送信します
参照参照

関連項目

Socket クラス
Socket メンバ
System.Net.Sockets 名前空間


このページでは「.NET Framework クラス ライブラリ リファレンス」からSocket.SendFile メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からSocket.SendFile メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からSocket.SendFile メソッドを検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

Socket.SendFile メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Socket.SendFile メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS