C# Windows Phone 8.1 UDP多播客户端

C# Windows Phone 8.1 UDP多播客户端,c#,sockets,udp,windows-phone-8.1,multicast,C#,Sockets,Udp,Windows Phone 8.1,Multicast,正在尝试适用于Windows Phone 8.1的应用程序,并想知道如何使用DatagramSocket将数据发送到多播地址。如果我尝试将ConnectAsyncHostName主机与某个多播地址(即239.0.0.1)一起使用,我会收到一条消息ConnectAsync不支持多播地址。 如何连接到多播地址以及如何向其发送数据?您必须使用DatagramSocket.JoinMulticastGroup,请参见此处: 更新: 要仅发送UDP消息,请尝试: IOutputStream outputS

正在尝试适用于Windows Phone 8.1的应用程序,并想知道如何使用DatagramSocket将数据发送到多播地址。如果我尝试将ConnectAsyncHostName主机与某个多播地址(即239.0.0.1)一起使用,我会收到一条消息ConnectAsync不支持多播地址。 如何连接到多播地址以及如何向其发送数据?

您必须使用DatagramSocket.JoinMulticastGroup,请参见此处:

更新:

要仅发送UDP消息,请尝试:

IOutputStream outputStream = await datagramSocket.GetOutputStreamAsync(
    hostName,
    serviceName);
IBuffer buffer = Encoding.UTF8.GetBytes("hello").AsBuffer();
uint bytesWritten = await outputStream.WriteAsync(buffer);

我尝试以下代码:_mcastAddr=newhostname239.0.0.1_sock=新的DatagramSocket;尝试{u sock.JoinMulticastGroup_mcastAddr;}catch{MessageDialog errorMsg=new messagedialogerror;wait errorMsg.ShowAsync;},我就进入了catch部分。我做错了什么?错在哪里?无效的主机名是Windows 8.1中的常见错误。尝试选择网络接口。据我所知,JoinMulticastGroup不会像ConnectAsync那样返回任何结果。因此,如果有办法找出发生的错误,我该如何解决?如果进入catch块,请检查Exception.HResult值或Exception.Message。错误是:在加入多播组之前绑定套接字,如果我只想向多播组发送数据,而不想接收数据,是否真的需要绑定套接字?