ohroy / blog

A super blog lite -- just one page. use vue with github api !
https://blog.6h.work
Do What The F*ck You Want To Public License
148 stars 15 forks source link

记一次坑爹的socket连接异常 #39

Open ohroy opened 4 years ago

ohroy commented 4 years ago

事情是这样的,在docker里,socket长链接建立成功后,无论发送什么,都得不到响应。同样的bin跑在宿主机则没有问题。 非常的神奇。 冷静分析,造成此问题的可能因素有:

为了解决此问题,逐一验证,最终证明是玄学。 证明过程如下: 试图使用WireShark抓包分析,然而根本没有相关连接被建立。同时宿主机连接正常,排除服务端出错。 docker里ping和curl能正常被WireShark捕获,且响应正常 以上证明与网络无关,因为根本没有数据包被发出。 调试代码,分析后确实将数据流给到了系统,系统已经完成drain,然而就是不发。。 换了几个不通系统的底包ubuntucentos分别尝试后,均无法解决。 将docker部署在其他电脑上后,工作正常。

由此,得出结论,我的电脑有问题!至于什么问题,可能是docker的bug,也可能是玄学。

docker ver

ohroy commented 4 years ago

我曾以为是版本太老的缘故,然而到今天我才发现此为最新版本。