日期:2014-05-20  浏览次数:20727 次

关于网络传输的问题?望个位大虾帮帮忙!
是一个网络文件传输的问题,就类似与QQ的文件发送。因为涉及到外网访问。所以碰到些问题。
目前我们的做法是文件发送人发送文件内容,经由服务器转发。然后传送到客户端。出现一个问题。如果是大文件的话就会影响服务器接受文字消息的效率。如果是多个人发送大文件,那服务器基本就不用接收其他消息了。
所以我们想的是发送文件通过点对点的连接即可。不要通过服务器中转。

所以有这个问题。
如果对方是内网中用户。比如说是192.168.1.101,他可以通过路由访问外网,但是发送方怎么去连接这个内网机器,建立点对点的连接,然后传输数据?

如果个位有java实现P2P原理或者UDP穿透的案例或者网络资源可供参考的话不盛感激。
------解决方案--------------------
如果双方都在同一个网段中,可以。

如果双方是分别在不同的内网段,必须有中转服务器;不过可以考虑中转服务器单独设置,并限制下流量以优先保证即时通讯的流量;高端点还可以设置网络包的QoS。
------解决方案--------------------
貌似 还是得经过 服务器,除非是局域网系统
------解决方案--------------------
不是一个网的话只有通过中转服务器了
------解决方案--------------------
外网通过NAT也可以直接连内网(可以通过路由ip和端口来模拟一个全球唯一地址),不过可能需要一些其它条件

这里有p2p和NAT的介绍
http://f543711700.iteye.com/blog/978044