当前位置: 代码迷 >> VC/MFC >> 怎么理解TCP协议中的同时发起连接与socket编程之间的关系
  详细解决方案

怎么理解TCP协议中的同时发起连接与socket编程之间的关系

热度:151   发布时间:2016-05-02 03:51:28.0
如何理解TCP协议中的同时发起连接与socket编程之间的关系
TCP协议中,如果A和B同时发起连接,也就是同时发送SYN数据包,然后进入SYN_SEND状态,接着收到对方的SYN数据包,发送SYN+ACK数据包,进入ESTABLISHED状态,此时连接就建立了。但是这时建立的是一条而不是两条TCP连击。
但是在SOCKET编程中,A和B各有自己的listen端口,A和B分别通过本地socket去connect对方的listen端口,建立连接后,accept从完成队列中取出一个连接,这时候应该是两条连接,而不是一条。
这时为什么呢?是socket本身的的内部实现,还是两个进程只允许一个TCP连接?
------解决思路----------------------
“accept从完成队列中取出一个连接,这时候应该是两条连接,而不是一条。”
这个结论是从哪里得出来的?
  相关解决方案