Hej,
Mange tak for hjælpen nu svinger det bare
Mvh. Jacob Just
"Mogens Hansen" <mogens_h@dk-online.dk> skrev i en meddelelse
news:aqee0b$rjm$1@news.cybercity.dk...
>
> "Jacob Just" <Jacob_Just@mail1.stofanet.dk> wrote in message
> news:<3dca7db7$0$11429$ba624c82@nntp02.dk.telia.net>...
>
> > Jeg har et lille corba problem. Som Name Server bruger jeg tnameserv,
> > og denne vil jeg gerne connecte til fra min c++ server som bruger
> > Mico. Nogen der ved hvordan.
>
> Hvis tnameserv implementerer CosNaming interfacet burde det kunne lade sig
> gøre.
> Jeg brugte i sidste uge Mico til at forbinde op til en name service.
>
> Programmetisk set er måden man connecter til en name service fuldstændigt
> standardiseret:
> <ikke test C++ kode>
>
> #include <iostream>
> #include <CosNaming.hh> // ORB specific file-name
>
> using namespace std;
>
> int main(int argc, char * argv[])
> {
>
> try {
> // Initialize orb
> CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);
>
> // Find the naming service
> CORBA::Object_var obj =
> orb->resolve_initial_references("NameService");
> CosNaming::NamingContext_var ns =
> CosNaming::NamingContext::_narrow(obj);
>
> // use the name service
>
> catch (const CORBA::Exception & e) {
> cerr << "Uncaught CORBA exception: " << e << endl;
> return 1;
> } catch (...) {
> cerr << "Uncaught C++ exception: " << endl;
> return 1; }
> return 0;
> }
>
> </ikke testet C++ kode>
>
> Jeg kan varmt anbefale bogen:
> Advanced CORBA Programming with C++
> Michi Henning, Steve Vinoski
> ISBN 0-201-37927-9
> hvis man skal arbejde med CORBA i C++. Der er almindelig bred enighed om
at
> det ikke fåes bedre.
>
> Problemet er at ovenstående ikke er tilstrækkeligt.
>
> ORB'en skal konfigureres, så den kan finde endpoint til name service, og
> måden det gøres på er ORB specifik.
> Ofte kan man enten specificere nameservice i en konfigurations-fil eller
som
> en kommando-linie parameter.
> Kommando-linien kan typisk være noget i stil med
>
> -ORBInitRef NameService=corbaloc:iiop:big_iron:1234/NameService
>
> hvor maskinen hedder "big_iron" og name service lytter på port 1234
> Kig i dokumentationen til Mico.
> Så vidt jeg husker skal der sættes en environment variabel MICORC som
peger
> på et fil, hvor konfigurationen så kan skrives. F.eks.
> <micorc.txt - ikke testet>
> -ORBNamingAddr corbaloc:iiop:big_iron:1234
> </micorc.txt - ikke testet>
>
> >
> > Hvis det ikke kan lade sig gøre, vil jeg gerne connecte til nsd fra
> > java server?
>
> Det er meget tæt på at være eksakt det samme, der skal gøres i Java,
Python
> etc. for at få fat på naming service.
>
> Venlig hilsen
>
> Mogens Hansen
>
>