以下环境win7下(不确定linux下是否会出现 - ps.记得linux可配置发起连接的端口起始范围)
最近在写新的服务器框架,发现一个比较奇怪的情况:
A连接要连B(B在本机,端口为7690),然后B从来就没开,过了一段时间(有可能几分钟,有可能几小时),竟然连接上了。
更奇怪的是,他竟然收到回馈消息了。
刚开始下断点调试,发现一切正常。。。
直到使用netstat查看:
win下使用netstat -an | find "7690"
TCP 192.168.0.96:7690 192.168.0.96:7690 ESTABLISHED
从理论来讲,ip:端口唯一识别,那么自己连自己是合法的。。。
然后此连接相当于一个单向通道。。。
调用send写入数据
调用recv读取所send的数据
ps.最好配下发起连接的端口范围。