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