私はasynソケットを使っています。私はコールバック関数 'onDataReceived'を持っています。これは、データを受け取るたびに呼び出されます。C#ソケット、大きなファイルを受信
私は一度に1つの文字を取得していたので、socketPacketデータバッファを大きな配列に変更しました。データを受け取った時点で一度にすべて取得できますが、サイズの大きいファイルを送信しようとすると、配列サイズを超えても機能しません。
私の質問はこれです。私はマルチスレッドのソケットサーバーを持っています。すべてのデータが受信されると、どのように確定することができますか?例えば、イメージを送る必要があります。イメージをbase64にエンコードし、コマンド "BASE64IMAGE"を作成してから、サーバーはEND_OF_DATAに達するまで文字列を読み取ります。それを行う良い方法はありますか?ありがとう!
HTTPプロトコルを使用してファイルを送信できます。そのため、httpヘッダーを使用して、送信されるデータの詳細を表すことができます。また、httpベースのソケットクラスをライブラリとして利用できます –