peakzhang 发表于 2008-7-13 23:05:27

关于Reactor模型接收数据的问题

我用用APG上的Reactor模型的例子程序作为服务端.现在我写了一个客户端,它的功能就是发送数据,
peer.send_n("run:intadd",10);
peer.send_n("run:intsub",10);
现在遇到的问题就是,当Reactor模型中的ClientService接收数据时,我看到它接收的是"run:intaddrun:intsub";
而不是"run:intadd"和"run:intsub"两个消息(我认为ClientService应该是每次接收数据就调用一次handle_input(),
所以我的客户端发送两个消息,ClientService这边就应该有两次的hangle_input().)

请问这和nagle算法有关吗?另外,我在客户端程序中禁用nagle算法
peer.enble(TCP_NODELAY);
但是结果还是一样.

peakzhang 发表于 2008-7-13 23:05:33

你理解的有些问题,不是这样的。如果你在收取的时候也是10个字节,多次收取,结果就是你需要的。
tcp不同于UDP,是流。
页: [1]
查看完整版本: 关于Reactor模型接收数据的问题