4

我正在寻找具有以下功能的 Java 的良好 TCP 连接库:

1. Retry on failed publishes
2. Multiple connections

您成功使用了哪个库。

编辑:根据评论更改了问题以反映哪种类型的连接库。

4

3 回答 3

4

可能是Apache MINA会帮助你。看看。

于 2009-03-18T09:52:45.583 回答
1

我不确定这是否真的有意义。您正在谈论重试失败的发布,但 TCP 没有发布的概念。只是消息传递。因此,您可能正在发布,或者您可能正在请求信息。

例如,基于 TCP 的 HTTP 具有动词 GET/PUT/POST(以及其他)。所有这些都通过 TCP 运行。只有两个实际写了一些东西(PUT/POST)。并且只有 PUT 应该是幂等的(也就是说,您应该能够一次又一次地进行相同的操作并获得相同的结果)。如果您反复发布,我希望重新发布一些内容并在服务器上为每个 POST 创建一个新版本。

以上只是关于如何实现 PUT/POST 的建议。我不希望 HTTP 库代表我承担这一点。

所以在 TCP 层重试消息的概念是错误的(注意 TCP 会重新发送数据包等组成消息)。这是一个更高级别的功能,它可能在较低级别使用 TCP。例如,当我的远程服务器暂时不可用或报告错误时,我围绕 HTTPClient 编写了自己的包装器以重试 PUT(我不确定是否存在重试 HTTP 库)

于 2009-03-18T09:43:35.437 回答
0

也许这对其他人有帮助,试试这个名为socketal的库,PureJava使用ServerSocketand Socket,它非常简单并且没有任何不必要的功能。

该库能够:

  1. 断开连接时自动重新连接
  2. 能够处理连接/断开/连接
  3. 发送非常简单StringObject或者File
  4. 设置你自己的Authentication codeVerification就像Login Password

它看起来像Netty,但它们没有很多复杂的设置和功能。

它兼容Android/Java.

于 2018-02-06T10:53:01.200 回答