如何从套接字接收JSON字符串
问题描述:
我想通过c#(xamarin)中的套接字连接来回发送JSON字符串。如何从套接字接收JSON字符串
我想知道,接收器如何知道从套接字读取多少字节以接收完整的JSON字符串,因为字符串的大小会有所不同。
我必须先发送一个二进制长度(可能是一个或两个字节),然后JSON字符串?这样做的标准方法是什么,以便接收者知道每次获取完整的JSON字符串时要从套接字读取多少个字节。
它必须知道每个字符串有多少个字节,因为每个字符串都是一个单独的数据包,并且如果有很多数据包是背靠背发送的,如果每个字符串的长度都不准确,它会读取超过一个字符串和另一个的开始,或者不读取整个字符串,无论哪种方式,它将在解码格式错误的字符串时崩溃。
另一个问题是,如果我首先发送二进制的长度,那么如果发生什么事情发生在接收器与发送者不同步的地方,那么它不会知道哪个字节是长度了,因为它不能告诉字符串的起始位置,并且哪些输入数据代表长度,它将只收到一堆字节,并且它不会知道从哪里开始的末端等。
任何人都知道正确的方法来执行它,而无需编写兆字节的代码?
感谢