关于网友提出的“ 怎样判断发送来的数据有多少”问题疑问,本网通过在网上对“ 怎样判断发送来的数据有多少”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 怎样判断发送来的数据有多少
描述:网络通信中遇到个问题, 发送的数据不知道有多大,
如果发送来的数据超过我的缓冲区,那么只能接受缓冲区大小的数据。
应该怎么解决这个问题????
一旦超过缓冲区大小的数据的时候,把其他数据也要接受到。
问题是怎么样来判断发送来的数据是多大的?
解决方案1:
++
解决方案2: 一般是定长包头+变长包体,然后收发都放入缓冲队列,提交应用层。
解决方案3:
是这样
不过应该是:包头+数据
包头中包含长度
有必要的话还应该设置包尾
然后对数据流按着协议解析
解决方案4: 见过有 send(长度)= 2
send(DATA)
就是先发送2个字节的长度信息,结果再发送数据的。接收的时候先接收2个字节(这个就是数据的长度)再马上接收 这个长度的数据。
也可以自己定义协议,在协议里带有数据的长度信息。
解决方案5: 自定义传输协议
发送数据之前,先附加数据的长度
以上介绍了“ 怎样判断发送来的数据有多少”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2969686.html