socket中,大家是怎么定义数据包的? 定长数据? 还是结束符?
经大家谈一些经验性的问题, 之前的项目中, 我们一般都是采用发送定长数据的方法, 就是把"长度"放在包头里, recv到数据时, 先解析出包头里存储的"长度", 然后根据这个长度进行"粘包",
一般数据量不大的情况下, 这个方法是没有问题的,
但是, 如果在其他情况下, 这种方法是否稳定和可靠?
你们都是用的那种方法呢? 是定长数据? 还是靠结束符判断?
还有个问题, 如果用结束符判断(比如约定0x35是结束符), 那么应如何区分包中的0x35到底是结束符还是一般数据呢?