我的应用程序中有一个简单的TCP / IP客户端,它使用PrintWriter
将数据写入套接字,当我通过GUI手动发送消息时,它会产生罚款,但是当我循环时它不会发生任何问题。
PrintWriter在调用fast时会自动中断吗?
out.println(message);
out.flush();
编辑:不知怎的,刷新怎么没有发生得足够快,所以客户端正在向服务器发送连接/多个字符串,服务器无法处理它。
答案 0 :(得分:1)
如果没有适当的SSCCE,很难知道这里到底发生了什么。但我怀疑延迟的根本原因在于TCP / IP堆栈和/或您的“网络”。
你积极刷新每条消息可能导致TCP堆栈发送大量小型网络数据包。这可能会导致网络暂时拥塞和数据包丢失。
如果这是问题(正如我所说......我们无法分辨!)那么可能有用的两个选项是:
sendMessage
在调用快速时会自行中断吗?
不。
我需要进入500毫秒的睡眠状态才能让它发送所有信息。
这很可能不正确/不准确,但如果没有看到您的实际代码,则无法解释实际发生的情况。