【问题标题】:Reading and writing TCP header (options) in Java在 Java 中读取和写入 TCP 标头(选项)
【发布时间】:2013-01-10 21:52:12
【问题描述】:

我想要做的是: 使用 Java 编写客户端和服务器以通过 TCP 发送字符串,目前使用 Socket 和 Input-/Output-Streams 没有问题。

但现在我尝试在 tcp 标头 的“选项”字段中添加 3 个数字。我找不到任何有用的教程或有关如何自定义标题以及如何阅读它的其他内容。

有什么建议吗?

【问题讨论】:

  • 也许这会有所帮助? stackoverflow.com/questions/2653262/…
  • 我会看看这个,听起来不错,谢谢!
  • 想把哪三个数字相加?为什么?标题中唯一与您的业务相关的内容具有 API 来设置它们。

标签: java networking tcp header


【解决方案1】:

你不能:

  • 在应用程序级别,您无权访问 TCP 标头;
  • Java 也没有原始套接字。

不过,您可以通过设置不同的套接字选项来影响一些的 TCP 行为。但不直接操作 TCP 标头。

【讨论】:

    【解决方案2】:

    不使用外部库,如 jNetPcap。 jNetPcap 允许您格式化和发送自己的数据包。

    jNetPcap Installation Guide (Eclipse)

    jNetPcap Installation Guide (NetBeans)

    formatting and sending packet 的一个非常粗略的示例代码。 可能很粗糙,但它向您展示了自定义数据包的可能性。

    编辑: 忘了提到 jNetPcap 是 libpcap 的 Java 包装器。它们最初是用来读取数据包的。

    【讨论】:

      猜你喜欢
      • 2022-01-25
      • 1970-01-01
      • 2012-05-05
      • 2011-07-22
      • 1970-01-01
      • 1970-01-01
      • 2016-08-26
      • 2014-03-20
      • 2013-03-25
      相关资源
      最近更新 更多