适合Java的TCP连接库?

时间:2009-03-17 23:55:06

标签: java connection

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

1. Retry on failed publishes
2. Multiple connections

您成功使用了哪个库。

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

3 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:1)

我不确定这是否真的有道理。您正在谈论重试失败的发布,但TCP没有发布的概念。仅邮件转移。所以你可以发布,或者你可以请求信息。

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

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

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

答案 2 :(得分:0)

也许这有助于其他人,请尝试使用名为socketal的此库,纯Java使用ServerSocketSocket,这很简单,并且没有任何不必要的功能。

该库能够:

  
      
  1. 断开连接时自动重新连接
  2.   
  3. 能够处理连接/断开/已连接
  4.   
  5. 发送StringObjectFile
  6. 非常简单   
  7. 设置您自己的Authentication codeVerification,就像Login Password
  8. 一样   

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

它与Android/Java兼容。