-
Notifications
You must be signed in to change notification settings - Fork 15
Open
Description
事情是这样的,在docker里,socket长链接建立成功后,无论发送什么,都得不到响应。同样的bin跑在宿主机则没有问题。
非常的神奇。
冷静分析,造成此问题的可能因素有:
- docker内网络配置有误
- 代码有逻辑bug,实际没有发送成功
- 时区不一致影响双方握手
- 代码无误,但提交到缓冲区后系统不读取
- 玄学
为了解决此问题,逐一验证,最终证明是玄学。
证明过程如下:
试图使用WireShark抓包分析,然而根本没有相关连接被建立。同时宿主机连接正常,排除服务端出错。
docker里ping和curl能正常被WireShark捕获,且响应正常
以上证明与网络无关,因为根本没有数据包被发出。
调试代码,分析后确实将数据流给到了系统,系统已经完成drain,然而就是不发。。
换了几个不通系统的底包ubuntu和centos分别尝试后,均无法解决。
将docker部署在其他电脑上后,工作正常。
由此,得出结论,我的电脑有问题!至于什么问题,可能是docker的bug,也可能是玄学。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
