Problema con PNRP

A ver si algún entendido sabe a qué se puede deber esto. Estoy programando una aplicación P2P (para jugar al Hundir la flota, malpensados XD) usando PNRP y me pasa una cosa que no entiendo. Explico un poco la situación.

Mi aplicación registra el peer (de tipo inseguro) en todas las nubes. Acto seguido intento resolver el peer buscando en todas las nubes... Pero no encuentra nada. El código va todo seguido, tal que así:

PeerNameRegistration registeration = new PeerNameRegistration(myPeer, 3030);
            registeration.UseAutoEndPointSelection = true;
            registeration.Start();

            //System.Windows.MessageBox.Show(Cloud.GetAvailableClouds().Count.ToString());

            PeerNameResolver resolver = new PeerNameResolver();
            PeerNameRecordCollection results = resolver.Resolve(myPeer);
            System.Windows.MessageBox.Show(results.Count.ToString() + " Peers Found");


myPeer está definido más arriba así:
PeerName myPeer = new PeerName("MyUnsecurePeer", PeerNameType.Unsecured);


El mensaje me muestra "0 Peers Found", vamos, que no lo encuentra. Repasando y repasando, al final por desconfianza digo "Bueno, vamos a probar directamente en línea de comandos". Efectivamente, resolviendo desde línea de comandos (netsh p2p pnrp peer resolve 0.MyUnsecurePeer) lo encuentra perfectamente... (0.MyUnsecurePeer es la representación en string de mi variable myPeer). Eso sí, si voy avanzando en la aplicación, a veces de repente ya no lo encuentra más hasta reiniciar la aplicación... Y eso que aún no he programado la parte en la que hago un Stop() del registro :P

Soy nuevo en esto y no sé si es que me dejo algo muy básico o realmente me pasa algo muy raro, pero no encuentro solución y creo que va siendo hora de pedir un poco de ayuda... Espero que alguien haya tratado esto alguna vez [+risas]

Edit: Como veis, hay una línea comentada. Esa línea era para comprobar que efectivamente encuentra las nubes. Encuentra tanto la global como la única nube local que tiene que encontrar.
0 respuestas