【发布时间】:2011-03-14 18:53:01
【问题描述】:
我目前正在用 Java 构建一个透明代理。这个透明代理放置在客户端和服务器之间,使用 iptables 重定向 TCP 流。
从 TCP 通信的角度来看,我有以下对话框:
客户端服务器 | ---- TCP 数据包 1 ---> | | ---- TCP 数据包 2 ---> | |从透明代理的角度(使用套接字),我得到:
客户端服务器 | ---- 来自数据包 1 + 2 的 TCP 有效负载 ---> | |我的问题是套接字将多个 TCP 有效负载放在一起。我想避免这种行为。
我可以使用数据包的大小来规避这个问题,但这个大小不是恒定的。我尝试使用 tcpNoDelay 选项,但也没有运气。我使用了网络框架netty,但我遇到了同样的问题。
有没有办法在 Java 中避免这种 TCP 有效负载的串联?
【问题讨论】:
标签: java networking