这个程序还是没跑起来,下午知道的朋友帮我解释一下代码 并找出错误,
当然 如果能给我提供一个完整的组播例子 小弟将不胜感激!//这个是发送
 private void SendMessage(string str)
        {
            try
            {
                //组IP
                IPAddress GroupIp = IPAddress.Parse("224.5.6.7");
                Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
                //下边的2句话 我不明白
                s.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, new MulticastOption(GroupIp));//此句话出错提示参数错误
                s.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.MulticastTimeToLive, 1);
                byte[] datas = new byte[1024];
                Encoding.UTF8.GetBytes(str);
                IPEndPoint iep = new IPEndPoint(GroupIp, 89);
                s.Connect(iep);
                s.Send(datas, datas.Length, SocketFlags.Multicast);
                s.Close();
                this.Text = "消息发送成功";
            }
            catch (Exception e)
            {
                this.Text = e.Message;
            }
        }
 private void RecMessage()
        {
            Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
            IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 89);
            s.Bind(ipep);
            IPAddress ip = IPAddress.Parse("224.5.6.7");
            //下边的这句话我不明白
            s.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, new MulticastOption(ip, IPAddress.Any));            while (true)
            {
                byte[] b = new byte[10];
                s.Receive(b);
                string str = System.Text.Encoding.ASCII.GetString(b, 0, b.Length);
                this.Text = str;
            }
            s.Close();
        }