Windows Phone - Udp - PullRequest
       3

Windows Phone - Udp

1 голос
/ 21 сентября 2011

Кто-нибудь пробовал использовать Udp Unicast на Windows Phone 7.1 (RC)? У меня есть несколько вопросов, которые я хотел бы задать вам, ребята.

  1. Согласно документу http://msdn.microsoft.com/en-us/library/system.net.sockets.socket(v=VS.95).aspx, единственным поддерживаемым ProtocolType является протокол TCP. Означает ли это, что Udp Unicast не поддерживается полностью?

  2. Я обнаружил, что мы можем вызывать ReceiveFromAsync только при событии Completed SendToAsync. В противном случае он выдаст исключение «Указан неверный аргумент». Почему это так работает? Другие также имеют такую ​​же проблему Проблемы с асинхронным получением одноадресных пакетов UDP в Windows Phone 7 ..

  3. Я также протестировал образец MSDN и несколько других клиентов C # Udp. Я обнаружил, что метод SendToAsync работает нормально. Но ReceiveFromAsync не работает. У кого-нибудь есть идеи как это исправить?

    private void OnRecieve() {
    
      var receiveArgs = new SocketAsyncEventArgs();
      receiveArgs.RemoteEndPoint = new IPEndPoint(IPAddress.Any, PORT);    
      receiveArgs.SetBuffer(new Byte[1024], 0, 1024);    
    
      var strBdr = new StringBuilder();
      receiveArgs.Completed += (__, result) => {
                    var package = Encoding.UTF8.GetString(result.Buffer, 0, result.BytesTransferred);
                    if (!string.IsNullOrEmpty(package)) {
                        this.RaiseReceived(package);
                    }
                    socket.ReceiveFromAsync(receiveArgs);
                };
                socket.ReceiveFromAsync(receiveArgs);
            }
    

Спасибо, ребята!

1 Ответ

1 голос
/ 16 июля 2012
  1. В соответствии с документацией «Для ОС Windows Phone 7.1 поддерживаются одноадресные TCP, многоадресные UDP и многоадресные UDP-клиенты».(Я использовал вашу ссылку)
  2. Насколько я понимаю, вы можете получать только с IP-адреса, с которым вы установили связь, в целях безопасностиWP7 поддерживает только Silverlight.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...