大并发下socket通信连接时会导致TCP自连接

    今天是2015的第二天了, 心情有些不佳,遇到的狗屎问题更是心情不爽 !还好妈蛋的给解决了 !

    问题提示说大不大,说小不小的 ~    TCP的自连接就是client和server bind的端口碰上了 !导致出现连接的异常。

用python来模拟TCP自连接的现象。 


结果:


其实以前预想过可能会出现这样的问题,但是也只是听过,没有碰到过。   还有就是以前对于本地化数据抽取的服务,都是放在分布式系统系统里,或者是放在另一个子进程用mmap,os.pipe进行数据传输。   前段时间为了统一化接口,还有就是应用层上有所作为,所以在socket上搞了数据来源识别的东西。那么问题来了,client和server端每秒钟要处理将近5000个数据,那么就很有可能遇见 源ip地址和端口,目的ip地址和端口一致的情况… …   

根据日志里面限制,每隔几分钟就有一个socket 连接的TCP自连接的异常。 

解决的有两种办法:

第一种是port的分配范围,第二种是把bind的端口给去除掉。 






对Golang感兴趣的朋友可以加群: 278517979 !!!
另外如果大家觉得文章对你有些作用! 如果想赏钱,可以用微信扫描下面的二维码, 感谢!
另外再次标注博客原地址  xiaorui.cc

1 Response

  1. xz 2016年1月19日 / 下午4:06

    博主,如果遇到自连接,server 需要咋处理呀

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">