• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C#UDP组播发送接收

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

背景:服务端获取未知客户端IP

误区:

服务端往组播地址发送消息,然后以接收组播的方式接收组播成员的回复无法接到。通过Wireshark抓包可以抓到来自目标客户端的包。发现目标客户端采用UDP单播方式发送 因而服务端接收不到此包。

解决方法:

目标客户端接收到来自服务端的组播信息之后同样以组播的方式回复信息。信息包含客户端IP和其他校验信息


using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;

namespace Client 
{
    class Program
    {
        static void Main(string[] args)
        {
            UdpClient client = new UdpClient();
            client.JoinMulticastGroup(IPAddress.Parse("239.255.255.250"));
            IPEndPoint multicast = new IPEndPoint(IPAddress.Parse("239.255.255.250"), 37020);
            string mess = "<?xml version=\"1.0\" encoding=\"utf-8\"?><Probe><Uuid>0414E4C1-1B08-408F-9442-BC2B6834D29D</Uuid><Types>inquiry</Types></Probe>";
            byte[] buf = Encoding.Default.GetBytes(mess);
            Thread t = new Thread(new ThreadStart(RecvThread));
            t.IsBackground = true;
            t.Start();
            while (true)
           {
                client.Send(buf, buf.Length, multicast);
               Thread.Sleep(1000);
           }
        }

        static void RecvThread()
        {
            UdpClient client = new UdpClient(37020);
            client.JoinMulticastGroup(IPAddress.Parse("239.255.255.250"));
            IPEndPoint multicast = new IPEndPoint(IPAddress.Parse("239.255.255.250"),0);
            while (true)
            {
                byte[] buf = client.Receive(ref multicast);
                string msg = Encoding.Default.GetString(buf);
                Console.WriteLine(msg);
                Console.WriteLine(multicast);
           }
       }
   }
}

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
android C编程技巧 及 C/C++开发测试(转)发布时间:2022-07-13
下一篇:
利用WebClient抓取百度收录数(C#)发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap