【问题标题】:Java sockets with out of band data带有带外数据的 Java 套接字
【发布时间】:2009-02-11 07:51:47
【问题描述】:

有人知道如何使用 Java 套接字接收(如何知道您收到了)带外数据吗?特别是我已经阅读了sendUrgentDatasetOOBInline 的文档,其中指出:

请注意,仅提供有限的支持来处理传入的紧急数据。特别是,不提供传入紧急数据的通知,并且没有能力区分正常数据和紧急数据,除非由更高级别的协议提供。

但我仍然希望有人有解决方案:-)

更多细节:

我正在通过套接字发送序列化对象,但我并没有真正看到如何在流中找到插入的“随机”OOB 字节(除了当我尝试时 Java 会给我一个例外的事实反序列化对象)。

【问题讨论】:

标签: java sockets out-of-band


【解决方案1】:

Tomcat 有一个维护的 JNI 套接字实现,它可以以 OOB 方式读取紧急数据包。

【讨论】:

【解决方案2】:

它看起来像 Java,一直到 Java 6(我没有研究 Java 7,因为我不知道他们是否已经确定要使用什么)而且看起来 Java 不提供任何支持完全用于以带外方式读取紧急 TCP 信息。到目前为止,这似乎是一个深思熟虑的选择。

但是,我确实找到了一位用户,他使用 JNI 解决了 implemented his own 的解决方案,成功地从流中读取了紧急数据。这个 hack 非常古老,可能适用于最近的 JDK,也可能不适用。我自己没有试过这个!您的里程可能会有所不同。 :) 但希望这会对你有所帮助。

【讨论】:

    猜你喜欢
    • 2012-08-15
    • 2015-03-14
    • 2012-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-12
    • 1970-01-01
    • 2020-05-06
    相关资源
    最近更新 更多