当前位置: 技术问答>linux和unix
急问!Windows服务器向Linux服务器发起TCP连接的次数受限问题
来源: 互联网 发布时间:2016-04-05
本文导语: 我现在用一个windows的服务器向一个Linux的服务器传送即时数据,由于数据量大而且更新迅速,所以需要隔100多毫秒向Linux服务器发起一个TCP连接,传送数据,然后中断。现在的问题是每当连接次数接近4000次的时候...
我现在用一个windows的服务器向一个Linux的服务器传送即时数据,由于数据量大而且更新迅速,所以需要隔100多毫秒向Linux服务器发起一个TCP连接,传送数据,然后中断。现在的问题是每当连接次数接近4000次的时候,Linux服务器就会拒绝我的TCP连接,导致我无法发送数据,然后间隔十几秒钟又可以接受TCP连接了,是不是我连接的频率过高,被当成恶意攻击了,请问有什么办法能处理?麻烦达人解答了
|
不是一般的乱,如果过十几秒又可以连接成功,你看一下是不是你的RecvMsg阻塞了,导致不能去accept
|
1、机器的连接数是有限制的 ,你关键是在服务器要程序要及时close套接字连接。
2、可能你服务器采用子进程来相应连接,但是一台机器的进程数也是有限制的,比如4千多个,如果不及时关闭子进程的话,会造成进程满了而无法产生新进程,从而不能进行连接。所有你一定要及时关闭子进程。
3、即使你及时关闭了子进程,但是要防止子进程变成僵尸进程的情况,那样的话,还是会占用系统进程资源的。
2、可能你服务器采用子进程来相应连接,但是一台机器的进程数也是有限制的,比如4千多个,如果不及时关闭子进程的话,会造成进程满了而无法产生新进程,从而不能进行连接。所有你一定要及时关闭子进程。
3、即使你及时关闭了子进程,但是要防止子进程变成僵尸进程的情况,那样的话,还是会占用系统进程资源的。
|
用strace、wireshark等跟一下。另外网络连接是否有保证?