我想通過c#(xamarin)中的套接字連接來回發送JSON字符串。如何從套接字接收JSON字符串
我想知道,接收器如何知道從套接字讀取多少字節以接收完整的JSON字符串,因爲字符串的大小會有所不同。
我必須先發送一個二進制長度(可能是一個或兩個字節),然後JSON字符串?這樣做的標準方法是什麼,以便接收者知道每次獲取完整的JSON字符串時要從套接字讀取多少個字節。
它必須知道每個字符串有多少個字節,因爲每個字符串都是一個單獨的數據包,並且如果有很多數據包是背靠背發送的,如果每個字符串的長度都不準確,它會讀取超過一個字符串和另一個的開始,或者不讀取整個字符串,無論哪種方式,它將在解碼格式錯誤的字符串時崩潰。
另一個問題是,如果我首先發送二進制的長度,那麼如果發生什麼事情發生在接收器與發送者不同步的地方,那麼它不會知道哪個字節是長度了,因爲它不能告訴字符串的起始位置,並且哪些輸入數據代表長度,它將只收到一堆字節,並且它不會知道從哪裏開始的末端等。
任何人都知道正確的方法來執行它,而無需編寫兆字節的代碼?
感謝