• 通过UDP的组播方式收发数据


    客户端代码

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Net;
    using System.Net.Sockets;
    using System.Text;
    
    namespace UDPTest
    {
        public partial class Form1 : Form
        {
            private UdpClient udpSend;
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                udpSend = new UdpClient();
                udpSend.EnableBroadcast = true;//是否可以发送和接收广播
                IPEndPoint iep = new IPEndPoint(IPAddress.Parse("224.100.0.10"), 8001);
                byte[] data = Encoding.UTF8.GetBytes(richTextBox1.Text);
                udpSend.Send(data, data.Length, iep);
                richTextBox1.Clear();
            }
        }
    }
    
    

    服务端代码

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    using System.Net;
    using System.Net.Sockets;
    
    namespace UDPTest2
    {
        public partial class Form1 : Form
        {
            
            UdpClient udpReceive;
    
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
    
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                byte[] data = null;
                udpReceive = new UdpClient(8001);
                udpReceive.JoinMulticastGroup(IPAddress.Parse("224.100.0.10"), 50);//添加到多路广播组,50为路由器跳数
                IPEndPoint iep = new IPEndPoint(IPAddress.Any, 0);
                while (true)
                {
                    data = udpReceive.Receive(ref iep);
                    string str = Encoding.UTF8.GetString(data, 0, data.Length);
                    MessageBox.Show(iep.ToString() + ":" + str);
                }
            }
        }
    }
    
  • 相关阅读:
    oracle如何查询哪个表数据量大
    SecureRandom生成随机数超慢 导致tomcat启动时间过长的解决办法
    smartctl----硬盘状态监控
    Oracle数据库的状态查询
    jdbc连接数据库使用sid和service_name的区别
    V$INSTANCE 字段说明
    V$PROCESS和V$SESSION,以及使用这两个视图能做什么
    NetOps Defined
    POI 海量数据
    HTML5 CSS3 诱人的实例: 3D立方体旋转动画
  • 原文地址:https://www.cnblogs.com/liulun/p/1686518.html
Copyright © 2020-2023  润新知