小弟我在用winform开发一个即时通讯的软件,现在遇到 在不同局域网之间文件传输的问题,请问各位老鸟,该用啥技术实现,给个思想,用p2p的技术,如何让两台在不同局域网内的机器建立连接,发送文件,谢谢,望不吝赐教

解决方案 »

  1.   

    楼主可以先看看这个http://www.cnblogs.com/asilas/archive/2006/01/05/311309.html
    然后这里有个例子
    http://devauthority.com/blogs/krys/archive/2006/06/13/HighPerformanceSocket.aspx
      

  2.   

    csdn 上有一个的
    在资料下载里面..楼主可以找找..
    用的UDP的
      

  3.   

    没什么办法,要么需要一个外网服务器转发,要么用vpn
      

  4.   

    没什么办法,要么需要一个外网服务器转发,要么用vpn能说的具体点吗
    如何转发,谢谢
      

  5.   

    如果就是两个局域网中的一台计算机通信,用端口映射或者dmz应该也可以,现在路由都有这个功能
      

  6.   

    查查NAT穿透或UDP穿透吧。这就是ipv4的缺陷阿。两台都是内网,只有借助一台公网服务器来转发。一台路由器之所以用一个ip可以带几台机器上网,是因为用了端口映射,但是这种情况只能由内网往外发消息,如果直接外网外内网发,就找不到内网这台机器,除非你有一台公网作服务器。
      

  7.   

    谢谢大家,谢谢 xiaoyuzi(小鱼子) ,那么用公网服务器来转发的话,你的意思是文件通过公网服务器来转发?或者说双方通过公网服务器来获得双方的ip?谢谢大家
      

  8.   

    谢谢yucong(程序人生)  ,我的意思是仅仅让外部服务器做为两个不同内网的机器,获得彼此ip的中转站,而不是文件流的中转发送,那么这种想法对吗
      

  9.   

    楼主可以先看看这篇文章:《C#实现Socket传输简单数据》
    http://www.yxsoft.net.cn/Article/csharp2/200705/31.html