我正在寻找一个来自 Java 的良好 TCP 连接库,具有以下功能:
1. Retry on failed publishes
2. Multiple connections
您成功使用过哪个库。
编辑:根据评论更改了问题以反映哪种类型的连接库。
也许 Apache MINA 会帮助你。看看吧。
我不确定这是否真的有意义。您正在谈论重试失败的发布,但 TCP 没有“发布”的概念。只是消息传输。所以您可能正在发布,或者您可能正在请求信息。 例如TCP 上的 HTTP 具有动词 GET/PUT/POST(等等)。所有这些都通过 TCP 运行。只有两个人真正写了一些东西(PUT/POST)。并且只有 PUT 应该是
幂等(也就是说,您应该能够一次又一次地执行相同的操作并获得相同的结果)。如果您重复发布,我希望重新发布一些内容并为每个帖子在服务器上创建一个新版本。 以上只是PUT/POST如何实现的建议。我不希望 HTTP 库代表我承担这一点。
因此在 TCP 层重试消息的概念是错误的(注意 TCP 会重新发送数据包等组成消息)。这是一个较高级别的功能,可能会在较低级别使用 TCP。例如我已经编写了自己的 HTTPClient 包装器,以便在远程服务器暂时不可用或报告错误时重试 PUTting(我不确定是否存在重试 HTTP 库)
的库,Pure Java
使用
ServerSocket
和 Socket
,它非常简单,没有任何不必要的功能。 该库能够:
断开连接时自动重新连接Netty它看起来像
- 能够处理连接/断开/连接
- 发送非常简单
String
- 、
或Object
File
设置您自己的Authentication code
- 和
,就像Verification
Login Password
一样
Android/Java
。
。Extasys 是一个用于 Java 的高性能、异步 TCP/UDP 套接字库。
它的特点:
每个 TCPServer、TCPClient、UDPServer 和 UDPClient 都有专用的线程池