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

简介: 客户端代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.

客户端代码

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);
            }
        }
    }
}

 

目录
相关文章
|
7月前
|
存储 Python
Python网络编程基础(Socket编程) UDP 发送和接收数据
【4月更文挑战第10天】对于UDP客户端而言,发送数据是一个相对简单的过程。首先,你需要构建一个要发送的数据报,这通常是一个字节串(bytes)。然后,你可以调用socket对象的`sendto`方法,将数据报发送到指定的服务器地址和端口。
|
Python
143 python网络编程 - UDP发送、接收数据
143 python网络编程 - UDP发送、接收数据
82 0
|
13天前
|
API 网络安全
发送UDP数据免费API接口教程
此API用于向指定主机发送UDP数据,支持POST或GET请求。需提供用户ID、密钥、接收IP及端口、数据内容等参数。返回状态码和信息提示。示例中含公共ID与KEY,建议使用个人凭证以提高调用频率。
38 13
|
7月前
|
网络协议
网络编程-UDP协议(发送数据和接收数据)
网络编程-UDP协议(发送数据和接收数据)
|
6月前
|
Java 程序员 Linux
网络编程套接字(3)——Java数据报套接字(UDP协议)
网络编程套接字(3)——Java数据报套接字(UDP协议)
51 0
|
7月前
|
网络协议 数据格式
|
Python
【从零学习python 】73. UDP网络程序-发送数据
【从零学习python 】73. UDP网络程序-发送数据
67 0
|
7月前
|
网络协议 Java
Java——UDP数据报
Java——UDP数据报
58 0
|
Ubuntu Python Windows
142 python网络编程 - UDP发送数据
142 python网络编程 - UDP发送数据
65 0
|
缓存 网络协议 Shell
网络协议格式 | 以太网帧、ARP数据报、IP数据报、UDP数据报、TCP数据报
网络协议格式 | 以太网帧、ARP数据报、IP数据报、UDP数据报、TCP数据报
176 0