急求广域网中点对点通讯的思路,有源码的提供份,最好是C#版的,十分感谢!能帮助开发的也可商讨.

解决方案 »

  1.   

    自己看一下UDP的通讯原理,或者UDP 打洞,看完原理之后,完成代码就很简单了。
    Client:   
    //send message to server that let server call the 
    //receiver send "Purch Hole" to the msg sender
    Class  ClientNeedPurchHole (: 某个消息类)
    {
        //消息发送者的外网IP信息
       
        //消息接收者的“标志”
    }
    -->当消息发送方没有接收到消息接收方的ACK消息时,发送Need Purch Hole给Server
    Server :
    Class  TransPurchHole (:某个消息基类)
    {
        //请求者的IP信息
    }
    -->Server收到客户端的NeedPurchHole消息,将此消息转发给接收信息的客户端Client :
    Class SendPurchHole
    {
       //.............
    }
    -->消息接收方向消息发送者发送“Purch Hole”信息
    PS:上面只是不完善地提及Purch Hole的C#实现原理,找篇P2P原理的文章认真看一下就不会觉得难。至于涉及到大量连接的情况
      

  2.   

    谢谢楼上的回答!!我看了Udp的打洞,但完成代码还有困难,我再努力试试!!非常渴望有写过的能有偿的帮助一下.主要是想急于做出来.
      

  3.   

    广域网通信时如果都有单独ip时,就直接通过ip通信;如果处于局域网里面,那就通过NAT技术,打洞技术等,先了解一下这两个技术,你就会明白.