我使用C#.Net和System.Net.Sockets命名空間中的Socket類。我正在使用異步接收方法。我知道這可以通過諸如Web服務之類的東西更容易地完成;這個問題是出於我的好奇心而不是實際的需要。c#流接收到所有數據?
我的問題是:假設客戶端發送一些未知長度的二進制序列化對象。在我的服務器上使用套接字,我如何知道整個對象已被接收,並且已準備好進行反序列化?我已經考慮過將對象的長度以字節爲單位,但在.Net世界中這似乎是不必要的。如果對象大於緩衝區會發生什麼?我怎麼知道,'嘿,因爲物體太大而必須重新調整緩衝區'?