2009-08-05 6 views
5

안녕하세요,소켓, 사용 가능한 바이트 수 얻기

좋아, 짧고 달콤한.

소켓에서 읽을 수있는 바이트 수를 얻어야합니다. 소켓 클라이언트에 NetworkStream을 설정했지만 읽을 수있는 바이트 수를 얻는 방법을 찾지 못했습니다. 그 순간에는 "Yes I have Bytes"또는 "No Yes"라는 부울 만 가져올 수 있습니다. 지금 바이트 ". 그러나 이것은 내가 필요한 일에 모두 유용하지만.

아무도 나를 불행에서 벗어나 내 필요를 제공 할 수 있습니까?

미리 감사드립니다. NetworkStream.Length 부동산에 관한 this MSDN article에 지정된대로

답변

8

:

스트림에서 사용할 수있는 데이터의 길이를 가져옵니다. 이 속성은 항상 NotSupportedException을 throw합니다.

이는 데이터가 도착할 때 스트림에 공급되므로 실제 길이가없는 것이 원인입니다.

그러나 Socket.Available 속성은 정확히 인 에서 읽을 수있는 바이트 수를 알려줍니다. 새로운 데이터가 도착하면 주어진 시간에 값이 변경 될 수 있습니다.