peakzhang 发表于 2007-12-28 23:42:27

Acceptor的handle接受消息为什么会吊死?

各位老大,我现在碰到一个奇怪的问题。
我用的是TCP连接传送数据,SERVER端用acceptor模式,按照道理来讲,client向server发送数据,server会自动调用readhandler的handle_input函数,在handle_input里我会用stream去收取数据;但现在的问题是,client发送一次数据,server会进2次handle_input,这样第一次handle_input会把数据都recv了,第二次就吊死在那了,请问各位遇到过这种情况没?是什么问题了?谢谢。。

peakzhang 发表于 2007-12-28 23:42:53

已经查出来了,是handle_input返回一个大于0的值

peakzhang 发表于 2007-12-28 23:43:00

handle_input 返回大于0的话会继续出发handle_input的调用, 应该返回一个<0的值

而在handle_output 中要是返回一个《0的值的话,会出发handle_close的调用, 默认就是close, delete this 了

不知道我理解的是否正确~

斑竹能不能清楚地介绍一下ACE_Svc_Handler的handle_input, handle_output,handle_close的关系啊?

peakzhang 发表于 2007-12-28 23:43:07

程序员指南上面有详述。
页: [1]
查看完整版本: Acceptor的handle接受消息为什么会吊死?