我的应用程序使用特定的源端口与服务器建立出站连接(考虑到防火墙问题 - 强化的系统可能需要提前指定端口)。
我的问题是我的应用程序最初建立连接。但是,如果连接中断,它将重试,但套接字将收到 BindException,指出“地址正在使用”。事实并非如此,如 netstat -pant 所示。它表明源端口/远程套接字对不存在(即,我什至没有在等待模式下看到它,连接根本不存在)。我会尝试永远连接,但没有成功。我认为如果是之前的连接挥之不去的问题,它最终会超时,但事实并非如此。我永远得到绑定异常。
就我而言,我从 10.0.1.20:4002 连接到 10.0.1.229:4001。所以我使用netstat来查找源套接字(10.0.1.20:4002)或远程套接字(10.0.1.229:4001),但在初始连接断开后都没有找到,这表明该地址不应该被使用。
即使 netstat 没有报告,是否有什么东西会导致此连接保留下来?
请注意,我使用的是 Linux,而且我意识到使用随机源端口可以解决我的问题,但不能解决它。
请告诉我。
谢谢,
吉布
当某些不好的事情发生时,close() 没有被调用 - 哦!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)