【问题标题】:How to implement CORBA client behind NAT如何在 NAT 后面实现 CORBA 客户端
【发布时间】:2013-02-20 13:19:04
【问题描述】:

我有以下接口。

interface Server {
   void subscribe(in Client client);
};

interface Client {
   void ping();
   void pong();
};

在初始化时,客户端将连接到服务器并调用 subscribe(this)。 然后服务器将不时在客户端调用 ping() 或 pong() 方法。但是,如果客户端位于 NAT 之后,这将不起作用。此问题有哪些可能的解决方法?

是否可以利用客户端创建的 TCP 连接来调用服务器 -> 客户端? 请指教。

【问题讨论】:

    标签: corba nat


    【解决方案1】:

    了解您的 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

    【讨论】:

    • TAO 还支持 BiDIR,并且还有一些特殊标志来覆盖放入 IOR 的主机名/端口
    • 我的ORB服务器端是TAO,而这个解决方案正是我所需要的。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-09
    • 1970-01-01
    • 2015-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多