Zgodnie z MSDN documentation Mango nie obsługuje emisji UDP. Zgodnie z tym thread jest to jakoś możliwe. Czy ktokolwiek ma doświadczenie z UDP na telefonie 7? Fragment kodu w języku C# byłby doceniony.Czy Windows Phone 7 Mango obsługuje transmisję UDP?
EDYCJA: Przeprowadziliśmy dalsze dochodzenia. Poniższy kod wydaje się działać
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, true);
byte[] data = Encoding.UTF8.GetBytes("test data");
SocketAsyncEventArgs a = new SocketAsyncEventArgs();
a.RemoteEndPoint = new IPEndPoint(IPAddress.Broadcast, 11000);
a.SetBuffer(data, 0, data.Length);
a.Completed += new EventHandler<SocketAsyncEventArgs>(delegate(object s, SocketAsyncEventArgs e)
{
Console.WriteLine(e.SocketError);
// here you can call socket.SendToAsync(sendEventArgs);
});
socket.ConnectToAsync(a);
Istotne jest, aby zadzwonić ConnectToAsync przed SendToAsync, inaczej dostaniesz wyjątek odmowa dostępu. Wydaje się, że UDP działa jakoś, przynajmniej w emulatorze. Pytanie brzmi, czy będzie działać w rzeczywistości i dlaczego dokumentacja mówi, że tak nie jest?
Nie widzę "SetSocketOption" na klasie Socket w pakiecie WP7 –
Czy ten kod będzie działać na urządzeniu z systemem Windows Phone? – VansFannel