• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
三人行者,必有我师焉
为了自己的理想,我愿意付出全部的力量
博客园    首页    新随笔    联系   管理    订阅  订阅

c#和UDP SOCKET广播

server:

            Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram,ProtocolType.Udp);

            IPEndPoint iep1 = new IPEndPoint(IPAddress.Broadcast, 9050);//255.255.255.255

            IPEndPoint iep2 = new IPEndPoint(IPAddress.Parse("192.168.1.255"), 9050);

            string hostname = Dns.GetHostName();

            byte[] data = Encoding.ASCII.GetBytes(hostname);

            sock.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.Broadcast, 1);

            sock.SendTo(data, iep1);

            sock.SendTo(data, iep2);

            sock.Close();

client:

            Socket sock = new Socket(AddressFamily.InterNetwork,

            SocketType.Dgram, ProtocolType.Udp);

            IPEndPoint iep = new IPEndPoint(IPAddress.Any, 9050);

            sock.Bind(iep);

            EndPoint ep = (EndPoint)iep;

            Console.WriteLine("Ready to receive…");

            byte[] data = new byte[1024];

            int recv = sock.ReceiveFrom(data, ref ep);

            string stringData = Encoding.ASCII.GetString(data, 0, recv);

            Console.WriteLine("received: {0} from: {1}",

            stringData, ep.ToString());

            data = new byte[1024];

            recv = sock.ReceiveFrom(data, ref ep);

            stringData = Encoding.ASCII.GetString(data, 0, recv);

            Console.WriteLine("received: {0} from: {1}",

            stringData, ep.ToString());

            sock.Close();

 

posted @ 2008-10-06 22:57  wsy6634  阅读(3213)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3