2012-09-07 2 views
0

데이터 구조에서 방금 과정을 마쳤습니다. 그리고 지금은 비트 토 런트 클라이언트를 구축 할 생각이었습니다. 내가 물건을 봤 때비트 토 런트 클라이언트를 구축하려면 어떤 종류의 기술이 필요합니까?

그러나 내가 같은 소켓으로 용어 중 하나를 이해하지 못했습니다 등 포트는

난 그냥 볼 수있는 위치의 일반적인 지침이 필요합니다. 책, 자습서 일반적으로 다른 어떤 기술을 내가 비트 토 런트 클라이언트로 만들 필요가 있습니까, 어떤 언어가 직업에 가장 적합하거나 심지어 어떤 종류의 코스를 내 목표를 달성하기 위해 봐야합니까.

제공 할 수있는 도움에 미리 감사드립니다.

+0

소켓 및 스레딩을 알아야합니다. – SLaks

+0

왜 이미 존재하는 것을 만드세요! 새로운 것을 꿈꿔보세요. 냅스터, 페이 스북 등은 모두 대학 기숙사에서 만들어집니다. –

+0

잘 생각하면 내 능력을 날카롭게하는 것입니다.) –

답변

1

저는 컴퓨터 네트워크의 작동 방식에 대해 알아야 할 사항 중 하나는 말할 것입니다. 여기에는 패킷 전송, 소켓, 포트, 스레드 등이 포함됩니다. ...

컴퓨터 네트워킹은 매우 광범위하지만 전 컴퓨터 네트워크에 대해 배우고 읽는 것을 좋아하는 책을 개인적으로 남겨 둘 수 있습니다 (다소 네트워킹에 대한 소개는 많이했지만 소켓을 사용하여 자바로 프로그래밍하는 법을 가르쳐줍니다.

컴퓨터 네트워킹, 인터넷을 특징으로 하향식 접근, 제임스 F. 쿠로 세, 키스 W. 로스, 2005, 애디슨 - 웨슬리

그것은 패킷 transmition, 스레딩, 소켓 등의 개념을 설명, 포트 및 훨씬 더. 나는 그것이 심지어 급류에 관한 섹션을 가지고 있다고 회상한다.

1

귀하의 질문은 아키텍처와 프로그래밍의 두 부분으로 구성됩니다. 먼저 프로그램을 설계해야합니다. 아키텍처는 큰 "시스템"을 하위 시스템으로 시각화하고, 그들 사이의 인터페이스를 정의한 다음 춤을 추을 수있는 "조정"을 작성하는 프로세스입니다. 위의 시스템의 경우

이 그 "서브 시스템"은 다음과 같습니다

  • 저장소 관리자 : 귀하의 토런트 파일은, 어떤 임의의 순서로 수집 조립 될 수있는 여러 덩어리로 만들어진 확인하고 마지막으로 제시 하나의 파일로 스토리지 관리자가이를 수행합니다.

  • 전송 관리자 :이 시스템은 토런트 청크를 전송하는 방법을 알고 있습니다. 주어진 패킷을 보내거나 주면 받는다.

  • 연결 관리자 :이 시스템은 보내고받는 연결을 설정

등 등

당신은 서브 시스템을 정의하면 다음 입력과 출력이 무엇인지 정의합니다. 그런 다음 각 모듈을 개발합니다.