我在困境中对下面的场景做出决定。请需要专家的帮助。C++ IPC通信
场景:在两个框中运行的两个进程之间存在TCP/IP通信。
通信方法1:基于流的套接字通信。在接收端,他将接收整个字节缓冲区,并将头几个固定字节解释为头并对其进行去序列化,并了解消息长度并开始获取该长度的消息,并对其进行反序列化,然后继续处理下一个消息头on ...
通信方法2:将所有消息放在一个向量中,向量将驻留在一个类对象中。一次序列化类对象并发送给接收者。接收器反序列化类对象并逐个读取矢量数组。
请让我知道哪种方法是有效的,如果有其他方法,请指导我。
还有基于类的数据传输和基于结构的数据传输的优缺点,哪个适合哪种场景?
我没有看到两种方法之间的区别。对于第二种方法,发送方必须序列化向量,将其发送给接收方(可能通过流套接字),并且接收方将接收到的数据反序列化为向量。这与第一种方法有何不同? – 2012-02-22 07:07:02
我的意思是这里是1.单字节缓冲区包含10个结构序列化并发送到客户端。 2.单字节缓冲区包含一个拥有10个结构的对象。并序列化一个对象并发送给客户端。如果我们这样做,在接收端,一个反序列化就足够了。在方法(1)中,我们有反序列化次数。你明白了吗? – Muthu 2012-02-22 07:16:21
案例2中的持有对象中的向量仍然需要序列化/反序列化。 – 2012-02-22 07:20:43