解决方案 »
- java非静态内部类的使用问题,求助
- SWT在那里可以下载?
- 泛型边界控制的用法是??? List<? extends Object>
- oracle的编码的必须为AMERICAN_AMERICA.US7ASCII,用hibernate,写入和读出都是乱码
- 怎样控制日期的显示格式?
- 一個DOS命令的簡單問題!請高手解答!
- 问一个动作问题(急,在线)
- 如何让JTable的Column不可Drag?
- 什么地方能下载JDK1.1.8??????急需!!!!!!!!!!!
- 各位大虾,websphere的问题
- 字符串替换字符求教
- HttpClient进行提交表单,网站返回的是一个消息框,这样怎么用HttpClient获得返回的信息
你们都有公网IP地址吗? 否则你们只要有一方在路由器/防火墙/NAT之后的话,肯定是连接不上的。在这种情况下,必须用UDP打洞。原理和技术上面的文章都有了。至于UDP发送文件,显然是可以的。但是需要自己手工处理丢包重传,倒包修正等等问题。 因为UDP本来就是不可靠的。另外,网络包(不管是TCP还是UDP)都不会长的,你看到8Kb这是应用层,真正发送的时候,还要拆成MTU,Internet上的话,每个数据包大概在1Kb 多一点。
还有,用TCP传输的话不用考虑NAT这些东西么?即使两端都位于NAT中。。
另外就是NAT有实实在在的设备专门去负责么
而且我用的是校园网,我们学校有1~2万人,这个里面NAT是什么样的结构啊?还有,我上次听学校一个管网络的说,我们寝室用电脑下载AV、浏栏黄色网站的时候,他们都知道,吓我不小额,是不是真的啊?他们真有这么强大么?
1. 底层显然会丢包,这个很正常,TCP协议保证了,丢包的话会重传。但是UDP没有这个保证
2. NAT的话,可以在防火墙上做,也可以用路由器做。当然,最简单的方法,直接在Linux上用iptables命令就可以做的。 具体方法,自己Google iptables命令
3. 你们学校的NAT结构,我怎么知道? 你说的这些,网管要是想知道当然能知道了,有各种各样的设备可以分析网络数据流的。
TCP的话,当然也要考虑NAT穿透啦! 但是TCP做NAT穿透比较麻烦,你可以上网搜索一下。