求java网络高手,tcp最大连接问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求java网络高手,tcp最大连接问题相关的知识,希望对你有一定的参考价值。
System32下有个TCPIP.sys文件,是管理TCP最大连接数的系统配置文件,网上也有工具可以进行修改这个最大连接数。我的疑问是,这个最大连接数到底是限制了谁的数目? 通过软件查看这个最大连接数,我的系统默认是10.
进入到cmd下面 ,netstat查看tcp连接数,数了一下连接数,很明显是大于10的,那就是说不应该是限制的tcp连接数量。用脚指头想一想,如果是限制的tcp连接数量,那么我们在同时访问大量站点,创建多于十个的tcp连接数时,系统就会受不了,报错或警告。现实是我们可以打开几十个页面,同时访问。
那么这个tcpIP最大连接数到底限制的谁?
有的地方说是最大线程数,那我可不可以这么理解,一个TCPIP连接算是一个进程,它的下面可以有多个线程,这些线程的数量不能超过十。
那么问题又出来了,一条tcp连接中的线程能同时使用一个端口进行通信么? java里使用socket多线程的时候是通过建立多条连接使用不同的端口来实现的,实际上就相当于多条连接么?
如果是多条连接的话,那么这个10就不可能限制到java中socket多线程的使用吧。
如果socket多条线程用一个连接,那么这个10就应该会限制到java中socket多线程的使用。
到底这个TCP最大连接数是干什么的,它会不会影响到socket多线程通信的性能?等候网络高人解密!
它的作用是改变单位时间内的并发连接数,也就是说你写个程序,想要在1秒内连接超过50(假设)此连接,是不被允许的,你只能达到10个,我认为一般应用足够了,比如下载应用,1秒不够,稍后软件都会重试,并不会影响你的下载速度,像windows 2003这样的操作系统,是不会做此限制的,作为服务器,它的目标就是提高网络吞吐量。
这样解释能明白否? 参考技术A 1.服务器这边其实只开了一个端口,也就是serversocket开放的那个端口,所以只要不是同时开放多个端口对外服务,就不存在并发连接的问题
2.10这个数字是半开连接限制,并非连接限制,半开的意思就是正在进行连接的数量的限制
3.一般的对性能要求较高的场合,使用的都是NIO而不是普通的IO,NIO的对多用户进行服务的机制并非是多线程,而是选择器 参考技术B 对windows的不熟悉,不过应该不只10吧。
netstat看清楚了,只看ESTABLISHED的。
TCP 127.0.0.1:27015 0.0.0.0:0 LISTENING
TCP 127.0.0.1:49163 127.0.0.1:49162 ESTABLISHED
TCP 10.0.0.210:64215 127.0.0.1:80 TIME_WAIT
TCP 10.0.0.210:64219 127.0.0.1:4766 SYN_SENT 参考技术C 这个应该是最大打开的半连接数,就是还没完成三次握手的连接数。
连接只是一个文件描述符而已,和线程、进程都没关系,可以多个线程共享一个连接,也可以一个线程打开多个连接。
如何测试电信网络提供的最大连接数是多少?
本人在公司用的10M以太网,单机下载能达1。2M左右每秒,奇怪的是连接路由器后没做任何限制,大约30台左右,同时在线时有很多电脑打开几个网页后就打不开了,进路由器看流量只有500-600K左右。没有占满,本人怀疑是电信在连接数上做了限制,所以想找个工具测试一下,以前是经常出现网络尖兵之类的东东,现在没有了。可出现了这个问题无法解决,麻烦请高手指点一下。
本文以win7系统为例进行演示,具体步骤如下所示。
1、本文以360电脑管家为工具进行网速测量,点击360浮动球。
2、在弹出的设置菜单中点击网速。
3、在网速菜单中点击测网速按钮。
4、在弹出的设置界面中软件会自动测量网速。
参考技术A不能自行控制
1、现在家庭用户的组网方式基本如上图所示。
2、每个运营商(电信联通移动)都对光猫进行控制,不允许并发数有很多个,一般常见的一条宽带只允许一个账号在线。
3、因此用户是不能自行控制宽带的最大连接数的。解决这个问题只有如上图所示进行通过加装路由器来实行多个设备同时在线。
参考技术B 我看了上面的回答 一个都不懂 我遇到过类似的情况。一根50m宽带 虚拟机100开跑业务 每个虚拟机我都限制成10kb带宽 业务来了开始跑网页 光猫延迟就上来了 开始很费解 后来请教别人 就是说连接数问题 家用的都被限制过 用爱快 然后开虚拟机 多开网页 然后看光猫延迟 延迟上了几百 就说明连接数到达最大值了 ,我现在就在想是光猫限制的 还是运营商直接olt认证收费系统上面限制的。光猫限制的就好办太多了 换个光猫 然后要电信下发号 但是我觉得收费系统限制可能性很大 运营商也是ros软路由做的 所以超级棘手 ! 参考技术C 正常电信是不限制连接数的,我试过为一个企业用2M宽带80台电脑也没问题.你试试换台路由测试下,是不是你的路由器承受不了.还用有没有机子中病毒,特别ARP类的病毒. 参考技术D 下载个电信宽带助手!
一个无线路由器的最大承载是16个人同时在线,你用得是32口交换机?还是接一个无线路由器出来再接8口交换机!再分交换机!有的单位电脑多,都是舍不得花钱买多口交换机,只用小交换机分
以上是关于求java网络高手,tcp最大连接问题的主要内容,如果未能解决你的问题,请参考以下文章
Altium Designer Release 10关于更换PCB网络连接问题,急!!!!在线等 求高手赐教。
关于VMware虚拟机的问题,主机无法用远程桌面连接虚拟机,求高手解答
java如果很多用户同时访问一个服务器会导致速度变慢。应怎么解决?求高手帮忙。急!!