私はSslStream関数から読み取ろうとしていますが、私は接続タイムアウトを設定していないが、私はタイムアウトの例外を持っている場合、Read()は決して終了しません。この男は同じ問題がありますhttp://msdn.microsoft.com/en-us/library/system.net.security.sslstream.read.aspx。私はここでコードを行うべきではありませんSslStreamすべてのバイトを読み取る
public byte[] ReadBytes()
{
this.bufferGlobal.Clear();
byte[] buffer = new byte[this.bufferSize];
int recv = this.stream.Read(buffer, 0, buffer.Length);
while (recv != 0)
{
addBytes(buffer, ref bufferGlobal, recv);
recv = this.stream.Read(buffer, 0, buffer.Length);
}
return (byte[])this.bufferGlobal.ToArray(typeof(byte));
}
Thxを事前に入力してください。
UPD:
私は答えを見つけることだと思います。私はSslStreamと同等の読み込みタイムアウトを設定することができます。その値はソケットが有効ではありません(つまり、大きなファイルをダウンロードでき、SslStreamを気にせずに接続を閉じたり、データを受け取ることができます)。私はこのソリューションをテストしていますが、うまくいくようです。皆さん。
私はライブラリを書きますGoogleサービスとの通信と私はすべてのデータを送信した後にGoogleクローズ接続を尋ねることはできません。私が別のサイトに接続しようとすると、 "Good of Corporation"以外のすべての製品は正常に動作します))))別の方法がありますか? – gingray