反應器的
schedule_timer
函式用來設定乙個定時事件,當時間到達時**事件處理器的
handle_timeout
處理函式。
schedule_timer
的原型如下:
schedule_timer (ace_event_handler *event_handler, const void *arg, const ace_time_value &delay, const ace_time_value &interval=ace_time_value::zero)
引數說明:
handle_timeout
的原型如下:
int handle_timeout (const ace_time_value ¤t_time, const void *act=0)
引數說明:
例子**如下:
#include
#include
#include
class timer:public ace_event_handler
timer(int delay,int interval,const void *arg = 0)
private:
long timer_id_; };
int main(int argc, char* argv)
ACE的反應器模型
1為什麼要反應器模型 前面的文章有個共同的特點,那就是針對一對一的通訊情況,甚至雙方通訊的先後都是定式的。對於要處理多個輸入輸出 網路連線,傳統的應用都要建立新的併發單元 程序或執行緒 每個輸入輸出 網路連線乙個併發單元。這可以很好的工作,但是帶來的執行時開銷也是很大的,在一些情況下,是無法接受的。...
ACE反應器模型的應用 UDP通訊的設計
udp 通訊的特點是無連線。這裡只要乙個處理器 udp peer event handler 用來監聽是否有資料報。圖表2 5 圖表2 6 如下 udp peer event handler.h ifndef udp peer event handlerh define udp peer event...
ACE反應器模型的應用 TCP伺服器的設計
設計 tcp 伺服器需要設計兩個事件處理器,乙個用來監聽客戶端的連線,另乙個當連線建立後用來處理與客戶端的通訊。圖表 2 3 tcp server event handler 的 handle input 用來處理當有客戶端連線時建立新連線。tcp peer event handler 用來處理建立...