golang是否支持TCP同时打开?

时间:2014-09-12 08:54:22

标签: tcp go

是否符合标准" net"包支持TCP同时打开?我的意思是两个主机主动打开彼此的tcp连接并构建一个连接。我使用net.Dialer和Dial但拒绝连接。

1 个答案:

答案 0 :(得分:4)

同时打开并不是一项功能,而是如果两个客户端同时尝试相互连接则可能发生的事情。所以Go只是通过支持正常的TCP操作来支持这一点。您可能会拒绝连接的原因是时间必须非常精确。在对方的SYN到达之前,双方都必须在内核中注册其处理程序。对于同一网络中的两个客户端(例如在同一建筑物或同一校园内),此延迟将非常低,因此窗口将非常小(最多几十毫秒)。