2011-02-03 1 views
4

중앙 서버없이 피어를 감지하고 연결할 수있는 응용 프로그램을 코딩 할 수 있습니까? 방법?중앙 서버없이 피어를 감지하고 연결할 수있는 응용 프로그램을 코딩 할 수 있습니까? 방법?

필자는 이것이 일부 피어 투 피어 응용 프로그램의 기능이라고 생각하지만 프로그래밍 지식은 네트워킹보다 훨씬 뛰어납니다.

의 당신이 다음과 같은 방식으로 작동하는 개인 채팅 응용 프로그램을 만든다고 가정하자

  1. 당신은 동일한 응용 프로그램을 가지고 있습니다
  2. 응용 프로그램을 표시 모든 동료를 신뢰 ID의 목록을 정의를 신뢰할 수있는 ID
  3. 라우터에 포트를 열지 않아도 작은 문서 (소스 코드, odt 파일 등)를 채팅하고 보낼 수있는 연결을 설정합니다.

은색 총알 응답, 실현 가능성의 단서 및 필요한 기술을 기대하지 않습니다.

응용 프로그램이 LAN 네트워크에,에 실행하는 것 네트워크의 유형에 달려있다

답변

0

, 당신은이 작업을 수행 할 수 있습니다

  • 클라이언트 (또는 peeer)의 목록을 얻기 위해 LAN에 브로드 캐스트를 전송 명의 동료가 있습니다. 이제 피어가 4567
  • 에 포트를 듣고 로, XXX, 내 IP 주소가 192.168.1.44이다 : 나는 피어 ID입니다 :
  • 다른 온라인 피어 (peer)가 같은이 피어 방송의 IP, 에 응답합니다 사용 가능한 접속 된 피어의리스트

물론, 사용 가능한 피어 목록을 얻으려면 브로드 캐스트 프로토콜을 설계해야합니다. 간단한 브로드 캐스트 프로토콜은 다음 옵션을 가질 수 있습니다. 사용 가능한 피어를 쿼리 한 피어의 IP 주소입니다. 따라서 다른 피어는이 IP에 응답합니다. 브로드 캐스트 프로토콜의 포트 번호입니다. 사용 가능한 피어는 다음 정보로 응답합니다. IP 주소, 채팅 응용 프로그램의 포트 번호. 이제 채팅 응용 프로그램은이 정보를 사용하여 해당 피어와 연결할 수 있습니다. 이것은 LAN 네트워크에 적용되지만 인터넷에서 동료를 식별하기 위해 중앙 서버에 의존하지 않고 해결책을 찾지 못했습니다.

영어로 불편을 끼쳐 드려 죄송합니다. 적어도 지금은 아이디어가 있습니다.

관련 문제