jiamswang 发表于 2009-8-3 15:20:46

关于handle_read_stream()返回成功,但byte_transfered=0

这是我的改过的 proactor_test的代码. 工作流程如下.
   sever listen at port 1133
在 void Server::handle_read_stream (const ACE_Asynch_Read_Stream::Result &result) 中
      如果有accetp到连接. server receive 数据后, 调用 this->tester_->client_list_->initiate_write_stream(mb,result.bytes_transferred())
在 void Client::handle_read_stream (const ACE_Asynch_Read_Stream::Result &result) 中
如果client 收到数据后.   调用 this->tester_->server_list_->initiate_write_stream(mb, result.bytes_transferred())

在 server 的Open中. 增加了client 的Open
   int port =448;
ACE_INET_Addr addr(port);
//host = ACE_LOCALHOST;
host = "192.168.2.40";
if (addr.set (port, host, 1, addr.get_type ()) == -1)
   ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), host));
else rc += connector.start(addr,1);

192.168.2.40为一HTTP服务器. 我打开IE https://127.0.0.1:1133后, 可接来自 https://192.168.2.40:448的第一页信息. 接收完后, 出现了client_read_stream不停的返回
成功的回调.
代码已附上. 请大侠来看看吧.
页: [1]
查看完整版本: 关于handle_read_stream()返回成功,但byte_transfered=0