는 잘 모르겠어요 피어 - 투 - 피어 네트워크 또는 P2P.
솔직히 말하면 피어 그룹 및 네트워크의 다른 공유 환경 설정을 유지 관리하기위한 레지스트리 노드가 있어야합니다. 레지스트리 주소는 모든 클라이언트에서 (기본 설정에 의해) 알려지며, 각 클라이언트는 시작할 때 연결을 시도합니다. 레지스트리에 연결된 각 클라이언트가 자신을 등록하고 사용 가능한 다른 클라이언트 목록을 얻으려고합니다. 대부분의 경우 클라이언트는 레지스트리에 대한 연결을 느슨하게하고 필요할 때만 (또는 주기적으로) 연결을 시도합니다. 한 클라이언트가 파일을 다운로드하려고 할 때 사용 가능한 리소스 목록과 특정 파일을 공유 한 피어를 얻으려고 시도합니다.
각 노드가 다른 노드에서 서비스를 받거나 다른 노드에 서비스를 제공 할 수 있으므로 해당 노드의 코드는 아이디어를 지원하기 위해 ServerSocket
및 Socket
을 모두 가질 수 있습니다. 기본 방식으로 구현하려고하면 다른 클라이언트에 동시 게재를 유지하고 다른 노드에서 서비스를 가져 오기 위해 스레드를 처리해야합니다.
고 가용성 P2P 네트워크에는 네트워크의 골격을 유지하기 위해 둘 이상의 레지스트리 노드가 있습니다. 또한 모든 클라이언트는 기본 레지스트리 노드의 전체 실패에서도 네트워크를 사용할 수 있도록 레지스트리 역할을 수행 할 수 있습니다.
이런 종류의 네트워크는 공유 태세에 기반을두고 있기 때문에 시작될 때 날이 갈수록 시작되고 일정 시간이 지나면 네트워크의 첫 번째 주 골격을 종료하여 간단히 종료 할 수 없습니다.
처음부터 시작하는 것이 좋지만 확장되면서 더 복잡하고 기능이 많은 네트워크를 추가하려는 경우가 있습니다. https://www.javaworld.com/article/2071877/enterprise-java/peer-to-peer-applications-made-easy.html
희망이 도움말 : 여기
는 네트워크를 구현하는 좋은 입문서이다.