ファイルをリッスンする tcp ソケットが開かれたマシンがあります。
System.Net.Sockets を使用して、C# コンソール アプリケーションのソケットに接続できます。
XML ファイル (100 Gb) のデータを読み取り、ソケット経由で送信したいと考えています。
最善の方法は何ですか?それをパケットに分割したり、ストリーミングして送信したりできる microsoft.net ライブラリはありますか?
自分でチャンクごとに読む必要がありますか?
提案してください
このタスクは非常に簡単/解決可能に見えるかもしれませんが、多くの注意事項があります。ここでできる最善のことは、ある種のミドルウェアを使用してそれを行うことです。ミドルウェアの良い例は ICE です。
http://www.zeroc.com/doc/Ice-3.3.1/manual/Hello.4.5.html
この特定の仕事に適しているかどうかはわかりませんが、自分で何かを見つけるでしょう..
相手側に HTTP サーバーがある (またはそこに配置できる) 場合は、Windows バックグラウンド インテリジェント転送サービスを確認することをお勧めします。
これにより、再試行、範囲のリクエストなどに関する多くの複雑さが隠されます。
MSDN Magazineには、C# からの COM API とのやり取りに関する記事があります。
100Gb に悩まされている場合は、次の記事を参考にしてください。
特別なことは何もありません。一度ソケット接続を開けば、必要なだけ開いたままにすることができます。xml ファイルを gzip して転送し、サーバーで使用するとよいでしょう。xml ファイルの圧縮率は少なくとも 50:1 であることが期待されます。
編集:送信用にファイルを読み取るときは注意が必要です。バッファを使用していくつかの行を読み取り、送信し、バッファを空にし、リンスして繰り返し、クライアントにファイルをロードせず、ソケット接続を介してデータの送信を開始します。