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 ();