using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;
namespace HeartMonitor
{
public partial class Form1 : Form
{
private ArrayList m_listRing = new ArrayList();
public Form1()
{
InitializeComponent();
}
//接收广播的线程
void RecvThread()
{
UdpClient client = new UdpClient(new IPEndPoint(IPAddress.Any, 3333));
IPEndPoint endpoint = new IPEndPoint(IPAddress.Any, 0);
try
{
while (true)
{
byte[] buf = client.Receive(ref endpoint);
Invoke(new call_ParseProtocal(ParseProtocal), new object[] { buf });
string msg = Encoding.Default.GetString(buf);
Console.WriteLine("\n来自" + endpoint.Address.ToString() + "的信息:" + msg);
}
}
catch(SocketException se)
{
MessageBox.Show(se.ToString());
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
public delegate void call_ParseProtocal(byte[] buf);
private void ParseProtocal(byte[] buf)
{
if(buf.Length>=34)
{
int type = buf[4];
if(type =&#
C# winform中,发送和接收局域网广播,使用chart控件及线程的使用
最新推荐文章于 2020-03-22 17:19:16 发布
该博客展示了如何在C# Winform应用中使用UdpClient接收和发送局域网广播,并利用Chart控件实时显示接收到的心率数据。通过线程管理,实现了数据接收与UI更新的分离,同时提供了添加模拟数据的功能。
摘要由CSDN通过智能技术生成