我正在使用、和编写一个分布式系统。
对于我每个消息,我需要接收前5个字节以知道传入消息的完整长度。
最好的方法是什么?
1.只接收5个字节,然后再次接收。如果我选择这个方法,是否可以安全地假设在recv中我会得到0或5个字节(即不写循环来继续尝试)?
2.使用MSG_PEEK
3.接收一些较大的缓冲区大小,然后读取前5个字节并分配最终缓冲区。
对于我每个消息,我需要接收前5个字节以知道传入消息的完整长度。
最好的方法是什么?
1.只接收5个字节,然后再次接收。如果我选择这个方法,是否可以安全地假设在recv中我会得到0或5个字节(即不写循环来继续尝试)?
2.使用MSG_PEEK
3.接收一些较大的缓冲区大小,然后读取前5个字节并分配最终缓冲区。