8 berichten aan het bekijken - 1 tot 8 (van in totaal 8)
  • Q:
    Bijdrager
    lord anubis

    Registering van een bonjour service

    Hallo Allemaal,

    Ik wil met bonjour een service opzetten, die op die host ( ‘localhost’ dus ) alleen te vinden is. Onzichtbaar voor het ‘local.’ network.
    Heb gezocht en gezocht, en ik kan ook niets vinden in de documentatie voor NSNetService.. en CFNetService…

    Zag via Apple lists dat die vraag wel eerder gesteld is maar zonder antwoorden. Toch heb ik ooit gelezen dat het moet kunnen, maar waar was dat:cry:

    Iemand een idee of reeds opgedane ervaring om dit werkend te krijgen?

    Bijdrager
    arri

    wat je wilt is ook wel een beetje het omgekeerde van waarvoor bonjour bedoeld is..
    weet je zeker dat je niet eigenlijk een andere oplossing zoekt?

    distributed objects bv?

    Bijdrager
    Pieterr

    Wat wil je precies bereiken?
    Bonjour is een mechanisme om een service bekend te maken op een netwerk (“Hallo, hier ben ik! Ik kan printen!”)

    Jouw opmerking “onzichtbaar op het lokale netwerk” is daar een beetje moeilijk mee te rijmen.

    Bijdrager
    lord anubis

    Hoi arri,

    Nee hoor, dit is wat ik zoek.
    En eigenlijk is het ook niet het omgekeerde.
    Bonjour gaat om het bekend maken en vinden van een service zonder IP gedoe.

    Bijdrager
    Pieterr

    Als je zeker weet dat dit is wat je zoekt, dan is dit de plek om te beginnen: http://developer.apple.com/networking/bonjour/

    Bijdrager
    lord anubis

    @pieter : Dat heb ik gelezen, maar hierin staat niet hoe het voor localhost werkt.

    DO zit ook in het spel, het gaat nu on het vinden van de service.

    Bijdrager
    Pieterr

    Ik begrijp het nog niet helemaal.
    Probeer je een service te vinden (in een applicatie) die op dezelfde computer (localhost) draait?

    Bijdrager
    lord anubis

    Yep,

    Let wel op dat er meerdere threads in meerdere instances van een demon in verschillende mach spaces draaien. Deze krijgen hun eigen naam. Hiermee heb ik voor de ‘client’ een unieke server.

    op deze manier vermijd ik allerlei vertragingen, aanroepen met heen en weer geschuif van id code’s e.t.c en kan ik het ook gebruiken via lauchd te samen met bonjour. Zelfs als de service zelf, demon, nog niet is opgestart.

    Dat laatste moet ik nog uitvogelen want dit werkt nog niet. Flinke dobber merk ik.

    En ik heb het al gevonden.
    Ik ging op zoek naar zeroconfig en vond het boek bij o-reilly’s. En toevallig lieten ze wat pagina’s zien die ik nodig had. Wat aan passingen om het in mijn code werkend te maken. En it just works!.

    hier het stukje

    [code:1:137e60afff]

    DNSServiceErrorType errorSyncSrvc;
    DNSServiceRef serviceLocalhostRef

    errorSyncSrvc = DNSServiceRegister(&serviceLocalhostRef,
    0,
    kDNSServiceInterfaceIndexLocalOnly, // 0 = all network interfaces <-= dit is de oplossing
    "sync test", // – name
    "_adminSync._tcp", // – service type
    "", // N/A – register in default domain(s)
    NULL, // – default host name
    htons(1352 ), // – port number
    120, // – length of TXT record
    &serviceSyncTXTRef, // – TXT record
    SyncCallBack, // – call back function
    NULL); // – no context
    if ( errorSyncSrvc =! kDNSServiceErr_NoError)
    {
    [/code:1:137e60afff]

    bedankt verder voor jullie reactie’s.

    Mocht iemand meer weten over launchd en bonjour settings. Welkom!

8 berichten aan het bekijken - 1 tot 8 (van in totaal 8)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.