加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

套接字 – 使用Java发送零数据TCP / IP数据包

发布时间:2020-12-15 02:34:24 所属栏目:Java 来源:网络整理
导读:我的目标是发送一个带有空数据字段的TCP数据包,以便用远程机器测试套接字. 我正在使用OutputStream类的write(byte [] b)方法. 我的尝试: outClient = ClientSocket.getOutputStream();outClient.write(("").getBytes()); 这样做,数据包永远不会显示在线路上
我的目标是发送一个带有空数据字段的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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读