|
Answer» OAccessing the local address on the client-side, e.g. in an interceptor can be ACHIEVED by using the following CODE:
CORBA::Object_var obj = orb->resolve_initial_references("IT_IPTransport"); if (CORBA::is_nil(obj)) { self_addr = (const char*) 0; RETURN; } IT_ATLI2_IP::IPTransport_ptr ip_transport = IT_ATLI2_IP::IPTransport::_narrow(obj); if (CORBA::is_nil(ip_transport)) { self_addr = (const char*) 0; return; } CORBA::String_var HOSTNAME = ip_transport->local_node_name(); IT_ATLI2_IP::IPAddressSeq_var ip_addresses = ip_transport->name_to_addresses( hostname, 0, IT_ATLI2_IP::PROTOCOL_TCP, IT_UtcT::NEVER() ); IT_ATLI2_IP::IPAddress_var ip_address = ip_addresses[0]; self_addr = ip_address->node_literal(); OAccessing the local address on the client-side, e.g. in an interceptor can be achieved by using the following code: CORBA::Object_var obj = orb->resolve_initial_references("IT_IPTransport"); if (CORBA::is_nil(obj)) { self_addr = (const char*) 0; return; } IT_ATLI2_IP::IPTransport_ptr ip_transport = IT_ATLI2_IP::IPTransport::_narrow(obj); if (CORBA::is_nil(ip_transport)) { self_addr = (const char*) 0; return; } CORBA::String_var hostname = ip_transport->local_node_name(); IT_ATLI2_IP::IPAddressSeq_var ip_addresses = ip_transport->name_to_addresses( hostname, 0, IT_ATLI2_IP::PROTOCOL_TCP, IT_UtcT::never() ); IT_ATLI2_IP::IPAddress_var ip_address = ip_addresses[0]; self_addr = ip_address->node_literal();
|