如何验证TCP数据包是否在JAVA中收到了ACK?

时间:2011-07-01 07:13:41

标签: java-me

通过任何方法发送一些tcp数据后(我的下面)

DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
outToServer.writeBytes(string);

如何在JAVA中验证TCP数据是否已成功发送?或者有没有办法读取收到的ACK(来自tcpserver)?

2 个答案:

答案 0 :(得分:0)

你做不到。操作系统通常不会将其暴露给应用程序。

如果您需要知道数据是否已经到达另一端,则需要在应用程序协议中实现ack,而不是在TCP关注的传输级别。

答案 1 :(得分:0)

我总是使用Wireshark来调试TCP应用程序。它是一个TCP跟踪工具,可以显示具有ack,重新传输等的各个数据包。

它不在代码中,但它允许您仔细检查应用的行为。

检查wireshark.