Ich möchte Puffer der Steckdose leeren lesen, damit ich folgen Code ... ist So rufen Sie NetworkStream.Read() ohne Blockierung auf?
Aber Read() Methode
byte[] tempBuffer = new byte[1024];
int readCount = 0;
while ((readCount = tcpSocket.GetStream().Read(tempBuffer, 0, tempBuffer.Length)) != 0)
{
// do with tempBuffer
}
blockiert schrieb so habe ich
tcpSocket.ReceiveTimeout = 1;. Und es funktioniert genauso wie vorher.
Wie ich weiß, wird dies normalerweise in C++ verwendet. Wie kann ich dieses Problem lösen?
Ich habe meinen Code mit try-catch blockiert, um die Trennung zu erkennen. Wie kann ich die DataAvailable-Eigenschaft verwenden? –
Wenn Sie in meiner Antwort dem Link zur DataAvailable-Methode folgen, sehen Sie, dass es ein Codebeispiel gibt, das Ihren Wünschen entspricht. Es steht Ihnen natürlich frei, das Ganze in einen Try-Catch zu verpacken, um die Trennung zu umgehen. –