有好的 Java TCP 连接库吗?

问题描述 投票:0回答:4

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

1. Retry on failed publishes
2. Multiple connections

您成功使用过哪个库。

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

java connection
4个回答
4
投票

也许 Apache MINA 会帮助你。看看吧。


1
投票

我不确定这是否真的有意义。您正在谈论重试失败的发布,但 TCP 没有“发布”的概念。只是消息传输。所以您可能正在发布,或者您可能正在请求信息。 例如TCP 上的 HTTP 具有动词 GET/PUT/POST(等等)。所有这些都通过 TCP 运行。只有两个人真正写了一些东西(PUT/POST)。并且只有 PUT 应该是

幂等

(也就是说,您应该能够一次又一次地执行相同的操作并获得相同的结果)。如果您重复发布,我希望重新发布一些内容并为每个帖子在服务器上创建一个新版本。 以上只是PUT/POST如何实现的建议。我不希望 HTTP 库代表我承担这一点。

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


0
投票
socketal

的库,Pure Java 使用

ServerSocket
Socket
,它非常简单,没有任何不必要的功能。

该库能够:

断开连接时自动重新连接
  1. 能够处理连接/断开/连接
  2. 发送非常简单
  3. String
  4. Object
    File
      
    设置您自己的
  5. Authentication code
  6. Verification
    ,就像
    Login Password
    一样
      
它看起来像
Netty

但它们没有很多复杂的设置和功能。 它兼容

Android/Java

    


0
投票
Extasys

Extasys 是一个用于 Java 的高性能、异步 TCP/UDP 套接字库。
它的特点:

每个 TCPServer、TCPClient、UDPServer 和 UDPClient 都有专用的线程池
  • 每个服务器有多个侦听器,每个客户端有多个连接器
  • 带有字符或字符串消息分割器的 TCP 消息收集器
  • 动态数据加密
  • 有关如何使用 Extasys 的示例可以在项目的 Wiki 上找到

https://github.com/nsiatras/extasys/wiki

© www.soinside.com 2019 - 2024. All rights reserved.