91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
嘉义市| 尚义县| 阿勒泰市| 都昌县| 钟山县| 临湘市| 志丹县| 湛江市| 富阳市| 布尔津县| 虞城县| 英山县| 会理县| 科尔| 青阳县| 古蔺县| 时尚| 吉首市| 晋宁县| 达日县| 乌恰县| 崇礼县| 滕州市| 湖南省| 陆丰市| 胶南市| 资兴市| 海盐县| 石柱| 扶风县| 延津县| 泰宁县| 于田县| 秭归县| 抚松县| 甘洛县| 万年县| 恭城| 陆丰市| 呈贡县| 塔城市|