客户端代码
代码语言:javascript复制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();
}
}
}
服务端代码
代码语言:javascript复制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);
}
}
}
}