나는 ... 나는 다음과 코드를 작성하도록 소켓 버퍼를 읽어 비워차단하지 않고 NetworkStream.Read()를 호출하는 방법?
byte[] tempBuffer = new byte[1024];
int readCount = 0;
while ((readCount = tcpSocket.GetStream().Read(tempBuffer, 0, tempBuffer.Length)) != 0)
{
// do with tempBuffer
}
그러나 읽기() 메소드를하고 싶습니다 그래서 차단 나는 tcpSocket.ReceiveTimeout = 1을 추가;. 이전과 마찬가지로 작동합니다.
아시다시피, 이것은 일반적으로 C++에서 사용됩니다. 이 문제를 어떻게 해결할 수 있습니까?
분리를 감지하기 위해 try-catch 블록으로 코드를 래핑했습니다. DataAvailable 속성을 사용하면 어떻게 할 수 있습니까? –
내 대답에서 DataAvailable 메서드에 대한 링크를 따라 가면 원하는 코드 예제가 있음을 알 수 있습니다. 물론 분리를 처리하기 위해 모든 것을 try-catch로 감쌀 수 있습니다. –