找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 2344|回复: 0

ACE NPV2 C++NPv2_Select_Reactor_Log_Server 和Qt 结合问题

[复制链接]
发表于 2009-1-5 15:11:11 | 显示全部楼层 |阅读模式
用C++npv2  Select_Reactor_Log_Server 改写的例子

class Logging_Event_Handler :public QObject,public ACE_Event_Handler
{
        Q_OBJECT
protected:
  // File where log records are written.
  ACE_FILE_IO log_file_,data_file_,para_file_;
  ACE_FILE_Connector connector_data,connector_para,connector_log;

  // Connection to remote peer.
  Logging_Handler logging_handler_;

  QTimer* _timer_checkdb;
  QTimer* _timer_dealdata;

  
  otl_connect db_handle_;   /*数据库句柄*/
  
  string connStr_;     /*数据库连接串*/

  bool   wr_fileflag;   

  typedef ACE_Message_Queue<ACE_NULL_SYNCH>  ACEMESQUE;

  ACEMESQUE  *msg_queue_;
  ACE_Message_Block                 *data_block_;
public:
  
        // Initialize the base class and logging handler.
  Logging_Event_Handler (ACE_Reactor *reactor)
    : ACE_Event_Handler (reactor),
      logging_handler_ (log_file_) {
                  connStr_=dbconnStr_;
                  _timer_checkdb=new  QTimer(this);                  
                  _timer_dealdata=new  QTimer(this);
                  wr_fileflag=0;
                  msg_queue_=new ACEMESQUE;
               
  };
问题是在每个新链接到来的时候都会重新执行构造函数!
open代码:
if (!connect(_timer_checkdb, SIGNAL(timeout()), this, SLOT(On_timer_checkdb())))
                ACE_ERROR_RETURN((LM_ERROR,ACE_TEXT("定时器错误")),-1);
       
        if(!connect(_timer_dealda
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-12-23 21:37 , Processed in 0.015035 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表