2012-08-28 3 views
0

많은 오픈 소스 자바 네트워킹 라이브러리 (jdbc 드라이버, 아파치 커먼 넷 등)를 보았습니다. 아직 간단한 사용 사례가 아닌 다른 용도로 SocketChannel을 사용하는 라이브러리를 찾고 있습니다 (MySQL의 JDBC 커넥터의 V3 socketchannel을 사용했지만 최신 버전에서는 jn.Socket을 사용합니다).SocketChannel 클라이언트 코드를 사용하는 모든 Java 라이브러리?

저는 클라이언트 코드 라이브러리에만 관심이 있습니다. (연결하고 듣지 않는 라이브러리).

참고로 Java 소켓 (클라이언트 전용)에 대한 추상화 계층을 구현 중이며 SocketChannel을 가치있게 만드는 몇 가지 유스 케이스가 필요합니다. 지금까지 본 모든 (클라이언트) 라이브러리는 SocketChannels에서 Java 1.0 소켓 기반 구현으로 이동하는 것으로 보입니다. 아마 SSL (확실하지 않음)을 사용하는 데 관심이 있기 때문입니다.

그렇다면 실제 질문은 SocketChannel &을 지원해야한다고 생각합니까? (플랫폼이 들어오는 연결을 어쨌든 지원하지 않기 때문에 클라이언트 측 라이브러리 용).

마찬가지로 DatagramChannel에도 관심이 있습니다. (같은 질문,이 수업을 지원해야합니까?)

다른 생각은 어디에서해야합니까?

답변

0

당신은 수천 개의 연결을 가지고 있다고 생각할 때 NIO를 사용하고, 스레드를 절약하고, 복잡성을 추가 할 필요가없고, 이점이 있다고 생각할 때 NIO를 사용합니다. 대부분의 경우 이러한 것들 중 하나 이상은 사실이 아니므로 당신은 그렇지 않습니다. 나는 새로운 코드를 위해 그것을 다시 사용하는 것을 의심한다. 예를 들어, Netty, Tomcat, Mina ...를 참조하십시오 select()는 프로세스를 위해 설계된 것으로서 이제는 실제로 필요하지 않은 스레드가 있습니다.

관련 문제