2009-08-05 32 views
5

Chào buổi chiều,Ổ cắm, Nhận số lượng byte khả dụng (C#)

OK, ngắn và ngọt.

Tôi cần nhận số byte sẵn có để đọc từ ổ cắm. Tôi đã thiết lập một NetworkStream trên Socket Client của tôi nhưng dường như không thể tìm cách để có được số byte có sẵn để đọc, tại thời điểm này tôi chỉ có thể nhận được một boolean nói "Có Tôi có Bytes", hoặc "Không Byte lần này ". Nhưng điều này là tất cả nhưng hữu ích cho công việc tôi yêu cầu.

Có ai có thể đưa tôi ra khỏi khổ sở của tôi và cung cấp cho tôi nhu cầu của tôi không?

Cảm ơn trước, được đánh giá cao.

Trả lời

8

Như quy định tại this MSDN article về NetworkStream.Length tài sản:

Gets chiều dài của dữ liệu có sẵn trên suối. Thuộc tính này luôn ném một số NotSupportedException.

Điều này là do thực tế là dữ liệu được cấp cho luồng khi luồng đến, do đó không có độ dài thực tế.

Tuy nhiên, thuộc tính Socket.Available cho bạn biết số byte có sẵn để đọc tại thời điểm chính xác này. Giá trị có thể thay đổi tại bất kỳ thời điểm nào nếu dữ liệu mới đến.