java - 如何一次向 Telnet OutputStream 写入一个字符?

标签 java apache-commons telnet outputstream

我正在使用apache.commons.net.telnet

我有char[]数组。我正在调用 TelnetClient.getOutputStream().write(array[i])。

我预计我的数据将一次发送一个字符,但 Wireshark 显示第一个字符单独发送,其余字符一起发送。 为什么会出现这种情况?如何逐字符发送数据?

最佳答案

好的。这是正确的答案。要尽快发送数据,请执行以下操作:

在输出流上调用 setTcpNoDelay(true)。

使用整个数组调用 write。您应该每次写入一个字节。同时写入整个数组会快得多。

写入后调用flush()。

这是发送数据最快的方式,也是产生最少延迟的方式。也就是说:一次发送一个字节并不能确保服务器更快地接收它们。

一次发送一个字节的数据会减慢速度,而不是加快速度。

关于java - 如何一次向 Telnet OutputStream 写入一个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10045079/

相关文章:

java - 如何检查函数的任意两个参数是否为空

java - 数学表达式中的单独数字

java - 好的哈希函数? (32位太小,64位太大)

python - tn.write() 中是双括号

与start()相关的Python多线程性能问题

java - 将请求从 spring controller 重新发送到 spring controller

java - 使用通过 apt 安装的 java 库

java - 无法使用 Play Framework 导入 commons io

c++ - C/C++ Linux下可登录telnet服务器的telnet库

Java Spring Hibernate 模式验证 : Missing Table