ACE+TAO 開源程式設計筆記/建立同時具有客戶端和伺服器的程序
外觀
此模型用於設定類似客戶端的應用,並且定期(不迴圈)呼叫伺服器程式碼的處理程式。注意這樣進行編寫比較奇怪,以便輪詢函式在 ORB 的處理迴圈超時之後才會被呼叫。因此,這裡可能發生的情況是,處理程式可以向其它 ORB 發出呼叫,並且本地 ORB 的 run() 成員可以作為兼職伺服器。根據 TAO 開發人員手冊,當輪詢功能執行其操作時,TCP 堆疊將作為快取,因此不要在輪詢函式中花費太多時間。
MyHandler ph;
//Set up a delay value of 6 s
ACE_Time_Value interval (6, 0);
//Run the ORB's event loop and poll the bill acceptor
while(1){
orb->run(interval);
ph.poll();
}
orb->destroy ();