1

我在发送 udp 多播数据包的程序中使用以下代码,

但是我一开始就遇到了异常

     static void Main(string[] args)
    {
        UdpClient udpclient = new UdpClient();

        IPAddress multicastaddress = IPAddress.Parse("239.0.0.222");   

       // Here I get System.Net.Sockets.SocketException , An invalid argument was supplied
        udpclient.JoinMulticastGroup(multicastaddress);

        ...

我有这个问题的机器是windows xp。当我在另一台机器(Windows 7)上运行相同的代码时,我没有得到这个异常,有什么想法可能是错的吗?

谢谢

4

2 回答 2

2

为避免套接字错误 10048:

尝试:

UdpClient udpclient = new UdpClient();
IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Any, _listenPort);
udpclient.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
udpclient.ExclusiveAddressUse = false;
udpclient.Client.Bind(ipEndPoint);
于 2013-01-03T09:26:37.920 回答
0

尝试向 udpclient 添加一个端口,例如

udpClient = new udpClient(9000) //or IPEndPoint with IPAddress and Port

无论如何,与微软的 udpclient 打交道都很痛苦

于 2012-11-28T09:11:08.740 回答