【发布时间】:2015-03-08 21:19:09
【问题描述】:
我正在尝试编写一个 TCP 透明代理以在 Linux 上运行。
我想在收到传入连接后,启动相应的传出连接,但仅在传出连接成功时才接受(SYN|ACK)传入连接。
TCP_DEFERRED_ACCEPT 没有做我想做的事——它总是发送一个 SYN|ACK。
问题是:如何使用 Linux 套接字 API 接受 TCP 连接,但延迟 SYN|ACK?
【问题讨论】:
-
你还要推迟以后的 ACK 吗?
-
有什么问题?
-
[mjs] 添加了问题。
-
你不能这样做。传入的连接在应用程序看到它们之前就由 TCP 完成。想想别的。
-
也许我只需要使用用户空间 TCP 堆栈或其他同样 hacky 的东西。叹息。