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

2024-01-10

我的目标是发送一个带有空数据字段的 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 http://mindprod.com/jgloss/socket.html#DISCONNECT

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Java 发送零数据 TCP/IP 数据包 的相关文章

随机推荐

  • 将 MTLTexture 转换为 CVPixelBuffer

    我目前正在使用 Metal 开发实时滤波器 定义 CIImage 后 我将图像渲染到 MTLTexture 下面是我的渲染代码 context是由 Metal 支持的 CIContext targetTexture是附加到的纹理的别名cur
  • useNavigate() 只能在 组件的上下文中使用

    请参阅下面的我的代码 我正在尝试添加这个返回上一页的按钮react router dom但我收到以下错误 并且我网站上的所有组件都消失了 Error useNavigate 只能在组件上下文中使用 My code function App
  • 我应该使用像 IEnumerable 这样的接口,还是像 List<> 这样的具体类

    我最近在其他地方表达了我对此的看法 但我认为它值得进一步分析 因此我将其作为自己的问题发布 假设我需要在程序中创建并传递一个容器 我可能对一种容器与另一种容器没有强烈的看法 至少在现阶段是这样 但我确实选择了一种 为了便于讨论 假设我要使用
  • RestKit 派生数据问题

    我正在尝试使用 Restkit 我已按照此处的安装说明进行操作 https github com RestKit RestKit wiki Installing RestKit in Xcode 4 x https github com R
  • 导航抽屉标题未隐藏

    我尝试使用抽屉菜单创建一个简单的应用程序 我使用 Android Studio 创建了一个项目并选择导航抽屉布局 我试图隐藏导航抽屉标题并将其放在工具栏上 我找到了放在工具栏上的方法 但我找不到图片中标题的隐藏红色部分 你能帮我吗 这是我的
  • WinAPI 确定文件是否可访问/私有的方法

    在 win32 c 中 有没有办法确定文件夹 文件是否可访问 您知道如果您尝试访问 C Windows 目录中的某个文件夹 您将收到一个弹出窗口 提示 此文件夹无法访问 也许有一个文件属性常量表明该文件是私有的 也许类似 FILE ATTR
  • 我可以使用什么库来进行简单、轻量级的消息传递?

    我将启动一个需要分布式节点之间通信的项目 该项目是用 C 编写的 我需要一个轻量级消息传递库来在节点之间传递非常简单的消息 基本上只是文本字符串 图书馆必须具备以下特点 无需外部设置 我需要能够在我的代码中启动并运行所有内容 我不想要求用户
  • 如何更新 Quartz JobDataMap 中的值?

    我使用的是quartz scheduler 1 8 5 我创建了一个实现 StatefulJob 的作业 我使用 SimpleTrigger 和 StdSchedulerFactory 来安排作业 看来除了 JobDetail 的 JobD
  • 在node.js上进行一些身份验证后,如何避免请求流数据丢失?

    请求流如何与node js express或restify 一起工作 当客户端尝试将音频 mpeg 或其他二进制文件上传到服务器时 请求应该是服务器上的可读流 我们可以使用管道进入另一个流request pipe 例如 从请求中获取文件 然
  • 从哈希图中删除元素时出现 java.util.ConcurrentModificationException

    我正在学习HashMap类并编写了这个简单的程序 这段代码适用于向散列映射添加元素 并且在从散列映射中删除元素时 我遇到了java util ConcurrentModificationException例如 这是我的终端的副本 ravi
  • AWT 机器人无法拖动窗口

    我正在尝试使用 AWT 机器人移动 Windows 资源管理器窗口 该机器人运行Java 7 操作系统为Windows 7 我可以移动鼠标并单击某些内容 但是当我尝试单击并拖动时 它似乎根本没有按下按钮 我看不出出了什么问题 或者想不出如何
  • 使用Openpyxl将IF公式插入excel后出现“@”符号

    我的目标是使用 Openpyxl 将此公式输入到 Excel 中 CORREL IF A2 A7 A2 A7 B2 B7 IF 公式的原因是忽略内部有 0 的单元格 默认情况下 CORREL 函数不会忽略这些单元格 当将此公式插入 Exce
  • 如何创建一个安全的 php 登录系统,允许“保持登录”功能?

    我使用基于会话变量的简单登录系统 用户登录后 就会设置一个会话变量 告诉我的脚本要接受用户 我不使用任何自定义客户端 cookie 变量 我想在登录屏幕上提供 让我全天登录 的选项 如何以一种安全的方式做到这一点 首先 配置session
  • 如何将 Ramda Pipe 函数与 Promise 和静态回调结合使用?

    基于 ScottSauyet 的帮助 https stackoverflow com questions 58362118 how to dynamically fill expand a 2d array using a callback
  • 驱动器盘符更改时从 USB 驱动器运行批处理文件

    因此 我制作了一个批处理脚本 它执行多个可移植程序 例如 prog1 exe prog2 exe 等 问题是每当我将 USB 驱动器连接到另一台计算机时 驱动器号就会发生变化 从而在运行 bat 文件时出现错误 请帮我找到解决方案 谢谢 d
  • Struts 2 中的数字格式不正确

    我正在使用以下语法以正确的数字格式显示值 例如1 250 00
  • 限制可变参数模板参数

    我们可以将可变参数模板参数限制为某种类型吗 即 实现这样的目标 当然不是真正的 C struct X auto foo X args 这里我的目的是有一个接受可变数量的函数X参数 我们最接近的是 template
  • 使用辅助方法为 Java 对象生成测试数据时提供默认值

    假设有以下 POJO Getter Setter public class UserRequest private String username private String password private String email 现
  • iPhone 的 JSON 库

    我想在我的 iPhone 项目中使用 JSON 库 我发现 json framework 库是目前最流行的 在这里能找到它 http code google com p json framework http code google com
  • 使用 Java 发送零数据 TCP/IP 数据包

    我的目标是发送一个带有空数据字段的 TCP 数据包 以便测试与远程计算机的套接字 我正在使用 OutputStream 类的 write byte b 方法 我的尝试 outClient ClientSocket getOutputStre