私は単純なプロキシサーバーを作成しています。.NETソケットの画像をエンコードする方法
ÿØÿà
Iを得る:
����
私はデータを格納する文字列を使用している私が直面しています問題は、私は、代わりに取得する画像(最初の4バイト)を要求したときということです。私はcharの代わりにバイトを使用する必要がありますか?
System.Text.Decoder d = System.Text.Encoding.UTF8.GetDecoder();
int charLen = d.GetChars(socketData.dataBuffer, 0, iRx, chars, 0);
は、誰もが正しい方向に私を指すことができますしてください:
私は、これは私がonRecieveコールバックで持っているもので、非同期ソケットを使用していますか?
UPDATE:
私はsocketData.bufferの提案を使用しましたが、今私が得るすべては、数字、文字なしです。
- このように、socketData.bufferからすべてのデータを収集し、ブラウザにすべてのデータを
ループリストを一覧にそれを配置し、書き出す::これは私がやっているものです
私は取得していますStream clientStream = client.GetStream(); Stream outStream = clientStream; StreamWriter myResponseWriter = new StreamWriter(outStream); for(int i=0; i<myList.Count; i++){ myResponseWriter.Write(myList[i]); } myResponseWrite.Flush();
出力が728484804749464932504848327975131067108105101110116583278101 ..です
EDIT2:
BinaryWriterは私の第2の問題を解決しました。
エンコーディングはテキスト用ですが、イメージ用ではありません。代わりにバイト配列を使用してください。 –
エンコーダ/デコーダでバイナリデータを渡すのはなぜですか? – Joe
ありがとう!それ以外の方法でバイト配列に変換できますか? – user1015551