0

我已经查看了许多开源 java 网络库(jdbc 驱动程序、apache commons net 等),但我还没有找到一个库,它可以将 SocketChannel 用于简单用例(mysql 的 jdbc 连接器的 V3 使用 socketchannel)但较新的版本使用 jn.Socket)。

我只对客户端代码库感兴趣。(连接,而不是听的库)。

仅供参考,我正在为 java 套接字(仅限客户端)实现一个抽象层,我需要一些用例来使 SocketChannel 工作有价值。到目前为止,我所看到的任何(客户端)库似乎都从 SocketChannels 转向基于 Java 1.0 Socket 的实现,可能是因为它们都对使用 SSL 感兴趣(不确定)。

所以,真正的问题是,我应该费心支持 SocketChannel & co 吗?(对于客户端库,因为平台不支持传入连接......但是。)

同样,我也对 DatagramChannel 感兴趣。(同样的问题,我应该费心支持这门课吗?)

有什么想法我应该在哪里寻找吗?

4

1 回答 1

0

当你认为你将拥有数千个连接时,你会使用 NIO,你想节省线程,你不介意增加相当多的复杂性,并且你认为会有好处。大多数时候,这些事情中的一个或多个是不正确的,所以你不知道。我怀疑我是否会将它用于新代码,更像是一种改造。例如,请参阅 Netty、Tomcat、Mina,... 有一个论点说 select() 是为进程设计的,现在我们有了你并不真正需要的线程。

于 2012-08-28T23:56:05.083 回答