gpt4 book ai didi

sockets - 使用 Java 发送零数据 TCP/IP 数据包

转载 作者:可可西里 更新时间:2023-11-01 02:33:07 24 4
gpt4 key购买 nike

我的目标是发送一个数据字段为空的 TCP 数据包,以便测试与远程机器的套接字。

我正在使用 OutputStream 类的 write(byte[] b) 方法。我的尝试:

outClient = ClientSocket.getOutputStream();
outClient.write(("").getBytes());

这样做,数据包永远不会出现在网络上。如果将 ""替换为 ""或任何非零字符串,它会正常工作。

我尝试了 jpcap,它与我一起工作,但没有达到我的目标。我想扩展 OutputStream 类,并实现我自己的 OutputStream.write 方法。但这超出了我的知识范围。如果有人已经做过这样的事情,请给我建议。

最佳答案

如果您只想快速检测静默断开的连接,您可以使用 Socket.setKeepAlive( true )。该方法要求 TCP/IP 处理心跳探测,无需任何数据包或应用程序编程。但是,如果您希望更好地控制心跳频率,则应使用应用程序级数据包实现心跳。

查看此处了解更多详情:http://mindprod.com/jgloss/socket.html#DISCONNECT

关于sockets - 使用 Java 发送零数据 TCP/IP 数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10693570/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com