locked
How do I make sure my P2P application does not use global cloud instead uses link_local cloud? RRS feed

  • Question

  • I intend to have a P2P application (on Vista machines) that needs to work only on the subnet. I would be using WCF Peer Channel NetPeerTcpBinding and PNRP resolver.

     

    From what i have understood so far, I don't need to have the Global Cloud. Question I have is how do I make sure my application uses the link_local cloud and not the global cloud?

     

    Here's what I noticed:

     

    My WCF NetPeerTcpBinding based application would throw a socket error if I did not have global connectivity on the teredo interface. I tried setting the teredo interface's state to be default and I would have global connectivity again. After that, my app would start working again (i.e. ServiceHost.Open() would not throw a socket error and the app instance would join the mesh) . After a while, I found that the same application started working even without global connectivity of the teredo interface which was a bit strange. I linked that to the fact that I did not have the global cloud at all on my machine anymore.

     

    Do I need to have the global cloud on my machine in order for a P2P app built using WCF NetPeertcpBinding and PNRP resolver or can I get it to work using only the link_local cloud? Remember I do not need to have peers over the internet.

     

    Thanks much!!!

    Thursday, September 6, 2007 5:27 PM

Answers

  • >>>

    I think we MUST specify the IPv6 address for the NetPeerTcpBinding.ListenIPAddress and not a IPv4 address. Can you confirm this?

    >>>

    Not necessary. You can specify any valid IP address as your listen IPAddress.

     

    thanks,

    -Ram Pamulapati

    Monday, September 10, 2007 5:58 PM

All replies

  • You need not always have global connectivity for your WCF p2p application to work.

    by default, NetPeerTcpBinding based applications join all available PNRP clouds. If you only intend to use link local clouds, you can override the default behavior by specifying the IPAddress of the link local cloud that you are interested in.

    You can specify the override in NetPeerTcpBinding.ListenIPAddress property.

     

    Hope this helps,

    -Ram Pamulapati.

     

     

    Friday, September 7, 2007 5:48 PM
  • Thanks Ram

    I figured that out. Cam across another post on this forum.

    I think we MUST specify the IPv6 address for the NetPeerTcpBinding.ListenIPAddress and not a IPv4 address. Can you confirm this?
    Sunday, September 9, 2007 12:43 AM
  • >>>

    I think we MUST specify the IPv6 address for the NetPeerTcpBinding.ListenIPAddress and not a IPv4 address. Can you confirm this?

    >>>

    Not necessary. You can specify any valid IP address as your listen IPAddress.

     

    thanks,

    -Ram Pamulapati

    Monday, September 10, 2007 5:58 PM