各位高手
我在做一网络通讯程序的过程中,由于用户并发量非常大,当服务器同时连接数超过一定数量时(大约在500个左右),客户端不能连接服务器,报错:(
无法打开到主机的连接 在端口 6666 : 连接失败)。此时socket资源可能已被耗尽,有很多的tcp连接状态为TIME_WAIT, 待一段时间过后,socket资源已释放后,连接该服务器,还是报错(无法打开到主机的连接 在端口 6666 : 连接失败), 现在服务器已进入拒绝服务状态!
请问高手,
1、为何socket资源在释放后,还是不能连接?
2、如何解释拒绝服务?
在此多谢了!
我在做一网络通讯程序的过程中,由于用户并发量非常大,当服务器同时连接数超过一定数量时(大约在500个左右),客户端不能连接服务器,报错:(
无法打开到主机的连接 在端口 6666 : 连接失败)。此时socket资源可能已被耗尽,有很多的tcp连接状态为TIME_WAIT, 待一段时间过后,socket资源已释放后,连接该服务器,还是报错(无法打开到主机的连接 在端口 6666 : 连接失败), 现在服务器已进入拒绝服务状态!
请问高手,
1、为何socket资源在释放后,还是不能连接?
2、如何解释拒绝服务?
在此多谢了!
你觉得Borland的VCL写得有问题吗?我已经实现了 友情提示客户端“访问量过多,请您稍后重试”, 但在提示之前,他已经连接上了,就是由于连接上了,导致连接数过多。
关键的问题的,尽管友情提示,客户端还是在连接,就这样,服务down了。
能有什么阻止出现拒绝服务吗?或是socket本身有拒绝服务的可能性?
出了异常的连接,在异常处理的时候,也要在服务端主动CLOSE一下.被动等到系统资源严重不足的时候再处理要困难得多.
已经实现了!在连接数到一定数量后,已经做到了主动close, 但在close之前,C还是连上来了。而现在的问题是,服务器已拒绝服务, 如何消除拒绝服务,让他继续?
我的意思是把已经建立的连接强制断掉.那个连接限制数至少得多留些余地,在某一瞬间超过这连接数没有关系的.