[omniORB] Howto bidir omniNotify and Event PushConsumer

M300_ªLÀAÀs³Bªø edward_lin@iwin.com.tw
Mon Apr 28 12:39:02 2003


Hi, dear all and Ducan,

Do anyone have experience about howto bidir omniNotify and PushConsumer?
I modified omniNotify/include/omniorb_poa_wrappers_impl.h as the following
code fragmentation.
replace
    _poa = PortableServer::POA::_narrow(obj);
as
    _rootPoa = PortableServer::POA::_narrow(obj);
    CORBA::PolicyList pl;
    pl.length(1);
    CORBA::Any a;
    a <<= BiDirPolicy::BOTH;
    pl[0] = _orb->create_policy(BiDirPolicy::BIDIRECTIONAL_POLICY_TYPE,a);
    _poa = rootPoa->create_POA("omniNotify",
PortableServer::POAManager::_nil(), pl);

My purpose is let the OA of omniNotify supports BiDir policy.

My problem is I have an omniNotify daemon resides on real IP, say
202.39.xxx.yyy; and an Event PushConsumer resides on virtual IP behind
firewall, say 192.168.sss.ttt. I set both configuration files (202. and
192.) to
    clientTransportRule * = tcp,bidir
    offerBidirectionalGIOP = 1
    serverTransportRule * = tcp,bidir
    acceptBidirectionalGIOP = 1

but the PushConsumer never got any event pushed!

When I 'netstat' machine for omniNotify, it always tell me
202.39.xxx.yyy:omniNotify     192.168.sss.ttt:8888  SYN_SENT.

Of course, it is wrong, could anyone tell me howto do or configure?

If anyone need omniORB trace, please let me know.

Thanks in advance.

(I use omniORB4 on both machines, they are Linux 7.3)

Cheers,
Edward