Bonjour à tous,

J'essaye d'implémenter ZeroConf pour un programme qui devra connaitre et afficher toutes les machines qui utilise le même programme et le même service bonjour.

Je me suis très lourdement inspiré de :
http://qt-quarterly.developpez.com/qq-23/qt-zeroconf/

Mais je n'arrive pas à utiliser correctement Il se trouve qu'au moment d'enregistrer le service Bonjour, la méthode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
QHostInfo::localHostName();
me renvoit bien le nom de la machine mais y ajoute un .local
(je suis sous MAC Osx Snow Leopard)

Or si l'on passe à lookupHost un String qui contient un .local, rien n'y fait il ne trouve pas l'adresse.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
QHostInfo::lookupHost(QString::fromUtf8(strRemoteHostname),
        serviceResolver, SLOT(finishConnect(const QHostInfo &)));
Si je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
QString strRemoteHostname = hosttarget;
strRemoteHostname = strRemoteHostname.section(".local", 0, 0);
QHostInfo::lookupHost(QString::fromUtf8(strRemoteHostname),
        serviceResolver, SLOT(finishConnect(const QHostInfo &)));
là ça passe.

Par contre si je tente de me connecter en local, c'est à dire à ma propre machine... j'ai un message d'erreur :

Lookup failed: "Host not found"
Avec le nom en .local la réponse est :

Lookup failed: "Invalid hostname"
Auriez-vous une petite idée ??

Merci par avance !

Gabriel