中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

C# DataReceived事件的異步處理

c#
小樊
83
2024-08-08 20:55:40
欄目: 編程語言

在C#中,可以通過DataReceived事件來異步處理數據的接收。DataReceived事件通常用于讀取串行端口或網絡流中的數據。以下是一個示例代碼,演示了如何使用DataReceived事件異步處理串行端口數據的接收:

using System;
using System.IO.Ports;

class SerialPortExample
{
    static SerialPort serialPort;

    static void Main()
    {
        serialPort = new SerialPort("COM1", 9600); // 設置串行端口和波特率
        serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);

        serialPort.Open(); // 打開串行端口

        Console.WriteLine("Press any key to exit.");
        Console.ReadKey();

        serialPort.Close(); // 關閉串行端口
    }

    static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
    {
        SerialPort sp = (SerialPort)sender;
        string data = sp.ReadExisting(); // 讀取接收到的數據

        Console.WriteLine("Data received: " + data);
    }
}

在上面的代碼中,首先創建了一個SerialPort對象,并設置了串行端口和波特率。然后注冊了DataReceived事件處理程序DataReceivedHandler。在DataReceivedHandler中,通過ReadExisting方法讀取接收到的數據,并進行相應的處理。

需要注意的是,DataReceived事件是在數據接收到串行端口緩沖區時觸發的,因此可以在事件處理程序中異步地處理數據。在本例中,DataReceivedHandler方法會在接收到數據時被調用,并打印接收到的數據。

最后,在Main方法中打開串行端口,并通過Console.ReadKey()方法等待用戶按下任意鍵來退出程序時關閉串行端口。

希望這個示例能夠幫助你了解如何使用DataReceived事件異步處理數據的接收。

0
长治市| 湟源县| 遂溪县| 祥云县| 兖州市| 怀来县| 吉首市| 安泽县| 辰溪县| 昌黎县| 南康市| 石阡县| 澎湖县| 永嘉县| 于都县| 靖西县| 江油市| 区。| 洛南县| 涿州市| 汾西县| 无为县| 尉氏县| 林州市| 余江县| 阿拉善左旗| 芮城县| 阜康市| 上饶市| 朝阳市| 灵武市| 封开县| 页游| 阳朔县| 虎林市| 梓潼县| 淮安市| 万山特区| 平湖市| 监利县| 麻栗坡县|