![](/img/trans.png)
[英]C# binary serialization tries to serialize objects that are not in the scope of the object
[英]C# UDP Object Binary Serialization with large objects
我正在編寫一個同時利用TCP和UDP來通過互聯網傳輸序列化對象的網絡庫。
庫(簡化)分為客戶端和服務器。
在編寫TCP元素時,我沒有遇到任何麻煩。 每次我想發送一個序列化對象時,我只是在對象本身之前發送該傳入對象的大小,並等到NetworkStream有足夠的字節排隊。
但是,編寫UDP服務器有點困難。 我有個問題:
做的時候:
data = udpClient.Receive(ref sender);
我不確定在服務器端會發生什么。 在第一個例子中,我將假設沒有數據丟失或錯誤地訂購。 但是,如果我序列化的對象被拆分為多個數據包,並且來自多個客戶端,會發生什么? 例如,如果這兩個事件同時發生:
那么我會按此順序(或接近足夠)接收這樣的東西嗎?
如果是這樣,我應該只為每個客戶端存儲我收到的數據,直到我認為我有足夠的數據,然后嘗試反序列化它?
謝謝
當你添加零件訂購和拆分時,你在重塑TCP的道路上還有很長的路要走 - 但這樣做是自己而不是使用多年來來之不易的經驗。
從根本上說,它聽起來就像UDP是不是真的適合你想要做什么。 這是絕對的要求嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.