【发布时间】:2010-12-10 09:54:59
【问题描述】:
我正在将 Java 应用程序(使用 NIO)转换为 C 套接字,但遇到了问题。同时,我正在使用grinder,作为TCPProxy,查看传输了什么。
我有 4 行需要作为握手的一部分发送给客户端。
Hello~Server\r\n
Hello1~Server1\r\n
Hello2~Server2\r\n
Hello3~Server3\r\n
对于 Java 应用程序(使用 NIO),每个字符串在每个 Java NIO flip() 之后发送。就是说上面的4行一次发出一个。
我有以下 Java 伪代码。
- 清除缓冲区,
- 将字符串放入Buffer,
- 放置字符串的大小,
- 翻转。
对于 C 套接字,即使我有 4 个单独的 send(),所有 4 个字符数组也会一起发送出去。
难住了。有任何想法吗?
【问题讨论】:
-
您是否关闭了 nagle 和所有合并?
-
嘿彼得。我正在阅读有关 nagle 的信息,但我还没有将其关闭。我会尝试的。谢谢老兄