Como transmitir um pacote UDP no WP7 Mango?
Desejo enviar um pacote UDP de um telefone para o endereço de transmissão limitado (IPAddress.Broadcast = 255.255.255.255
Este é o que tenho até agora e funciona em um aplicativo do Windows:
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);
});
socket.SendToAsync(a);
A chamada SetSocketOption é necessária para evitar uma exceção de "acesso negado". Infelizmente esse método não parece estar disponível no WP7. O código de exemplo UDP fornecido no site da comunidade do App Hub está usando multicast para obter resultados semelhantes, mas o dispositivo que estou tentando entrar em contato não pode lidar com multicast.
Existe alguma maneira de fazer esse tipo de transmissão no Mang