2013-09-02 3 views
0

내 의도는 윈도우 전화에 인터넷을 통해 8윈도우 폰 8 외부 IP 로컬 호스트 이름 대

을 UDP 메시지를받을 수 있나요?

테스트 설정 :

  • WIFI 내가 IANA 네트워크 코드 (344)와 하나 개의 호스트를 얻을) (
  • 실행 NetworkInformation.GetHostNames에, 셀룰러 데이터를 전환, IP 주소는 "10.146.8.159"이었다 .
  • 브라우저에서 동시에 icanhazip.com을 열면 IP 주소가 "192.230.159.176"이됩니다.

- 두 번째 질문 : 왜 두 IP 주소가 다른가요?

내 코드는 다음과 같습니다

public async void Start() 
{ 
    m_rxSocket = new DatagramSocket(); 
    m_rxSocket.MessageReceived += MessageReceived; 
    await m_rxSocket.BindServiceNameAsync("57000"); 
} 

private async void MessageReceived(DatagramSocket sender, DatagramSocketMessageReceivedEventArgs socketEventData) 
{ 
    // This is never called 
} 
문제는 방법 것을 MessageReceived가에도 불구하고 호출되지 않습니다됩니다

:

  • 가 192.230.159.176뿐만 아니라 10.146.8.159에 UDP 메시지 보내기 인터넷을 통해
  • ID_CAP_NETWORKING 등록

-> 세 번째 질문 : 위의 설정에서 메시지가 수신되지 않는 이유는 무엇입니까?

(-> 네 번째 질문 : 실버와 그 WP 개발을 생각하고 다른 사람이 모든 것을 C++ 냄새되는이 새로운 API에 우월 ...)

답변

0

안녕하세요 잘못 무엇을 발견 :

UDP 구멍 펀칭이 부족하여 UDP 구멍이 제대로 작동하도록 구멍을 뚫어주는 문제가있었습니다.