我有以下界面。
interface Server {
void subscribe(in Client client);
};
interface Client {
void ping();
void pong();
};
初始化时,客户端将连接到服务器并调用subscribe(this)。 然后,服务器将在客户端上调用时间方法ping()或pong()。但是,如果客户端驻留在NAT后面,这将不起作用。这个问题有哪些可行的解决方法?
是否可以利用客户端为呼叫服务器创建的TCP连接 - >客户? 请指教。
答案 0 :(得分:2)
了解您的ORB是否支持双向IIOP,解决了服务器>客户端回调的NAT /防火墙问题。
以下是一些支持它的ORB:
OmniORB - http://omniorb.sourceforge.net/omni40/omniORB/omniORB008.html#sec:bidir
Orbix - http://documentation.progress.com/output/Iona/orbix/migration/html/InteropCx3.html
Visibroker - http://www.albany.edu/dept/csi/csi518/fall03/inprise/vbroker/doc/books/vbj/vbj45/programmers-guide/bidir.html