2010-01-06 2 views
0

저는 Micosoft의 피어 투 피어 그룹 라이브러리를 사용하는 피어 투 피어 응용 프로그램을 개발하려고했습니다. msdn에서 Creating a Group Chat Application 조각에 대한 작업을 기반으로합니다. 이것은 로컬 그룹에 대해 잘 작동하며 gogo6 클라이언트와 같이 thrid party 터널 어댑터가 설치된 경우 글로벌 그룹에서도 작동합니다. 그러나 Windows에 내장 된 Teredo 터널 어댑터를 통해 작업 할 수 있어야하는 것처럼 보였습니다.Windows Peer to Peer Global_ 타사 ipv6 터널이없는 그룹

나는 여러 가지를 시도했으며 gogo6 터널을 실행하지 않고 ipv6 전용 사이트 (예 : ipv6.google.com)에 액세스 할 수 있지만이 방법으로 내 글로벌 그룹에서 다른 피어를 찾을 수없는 것 같습니다.

Windows 방화벽의 응용 프로그램에 대한 트래픽을 허용하는 규칙 (가장자리 통과 포함)을 추가했으며 다음 포트를 수신 및 발신 트래픽에 대해 열었습니다.

  • TCP 3587
  • UDP 3540
  • , 나는 그냥 작동합니다 것 같다 읽고 샘플에서 1900

,하지만하지 않습니다. 응용 프로그램에서 teredo를 사용하려면이를 명시 적으로 활성화해야한다는 것을 읽었습니다. 이 작업을 수행하는 유일한 방법은 소켓을 열 때이지만 그룹 API가 모든 작업을 수행하므로 제어 할 수있는 방법이 없습니다.

+0

Teredo가 켜져 있는지 확인 했습니까? –

+0

예 teredo가 켜져 있습니다. "netsh interface teredo show state"를 실행하면 국가가 자격이 있고 제한된 NAT가 있음을 알 수 있습니다. –

답변

0

일부 Teredo 클라이언트는 대칭 라우터 문제로 인해 연결할 수 없습니다. Teredo는 라우터의 90 % 만 사용할 수 있습니다. Gogo6는 ipv6 인터넷에 도달하는 곳의 gogo6 인프라로 패킷을 터널하는 TSP를 사용합니다.

+0

나는 뭔가 다른 일이 있다고 생각하는 경우에도이 답변을 정확하다고 표시 할 것입니다. Teredo는 절대로 나를 신뢰할 수 없었습니다 (90 %가 넘는 컴퓨터가 실패했습니다). Microsoft의 피어 투 피어 그룹 라이브러리는 로컬 P2P 만 원하지 않으면 거의 쓸모가 없습니다. 나는 그것을 사용하려고 시도 (오래전에 실제로)에서 계속 전진했다. –

0

Teredo가 IPv6 멀티 캐스트를 지원한다고 생각하지 않습니다. 피어 투 피어 그룹 라이브러리가 멀티 캐스트를 사용하는 경우 문제가 있다고 생각합니다. Teredo가 멀티 캐스트를 지원하지 않는다는 어떠한 확인도 찾을 수 없었습니다. 하지만 내 자신의 테스트 setsockopt (ADD_GROUP_MEMBERSHIP)는 인터페이스 ID가 Teredo 인터페이스 일 때 항상 실패합니다.