比如:有2个程序端A和B,它们分别位于两个局域网内,他们的ip都是192.169.1.12,那我用p2p如何来使他们进行通信?
(注意:不带设置dmz映射)
谢谢!

解决方案 »

  1.   

    中间需要有一个服务器。A把自己的公网IP和映射的端口告诉服务器,B也同样。A要去找B,通过服务器就找到B的地址,使用UDP网上有这样的例子。
      

  2.   

    不许要映射dmz也能找到192.168.1.12吗?
    UDP协议没法知道发送的信息是否正真送达啊
      

  3.   

    UDP是没有握手的,只能用一个中间服务器来帮助他们建立连接
      

  4.   


    如果A和B都在内网,TCP打洞貌似我还没看到成功的
    不过TCP转发可以
    UDP打洞成功的,网上很多
      

  5.   

    不行。
    UDP协议没法知道发送的信息是否正真送达啊
    可以设置消息,确定收到
      

  6.   


    怎么通过外部服务器地址表转发啊?比如用TcpClient去链另外一个局域网的服务端,那个局域网的外网地址比如是21.12.11.22,内网地址是192.168.1.125,就算这两个地址我都知道,那我该如何去找那个服务端呢?
    还是说,你的意思是先由A端用推模式将信息送到中间服务器,然后由B端以一定的频率去拉中间服务器的暂存数据?我觉得这样传递方式有点慢,是不是有更直接点的,谢谢!
      

  7.   


    A可以发信息到服务器,这点没疑问了。
    B也可以用TCP链接到服务器,这点也没疑问
    由于B和服务器有TCP链接,因此服务器可以发送数据给B,这点没疑问吧
    所以通信过程就是:A发送数据给服务器,服务器发送数据给B因为A和B都是内网,所以A不能直接发送给B,要通过服务器中转