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

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

多進程C#中的管道通信實現

發布時間:2024-09-13 17:36:39 來源:億速云 閱讀:107 作者:小樊 欄目:編程語言

在C#中,可以使用System.IO.Pipes命名空間中的類來實現管道通信

服務器端代碼:

using System;
using System.IO.Pipes;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (var server = new NamedPipeServerStream("MyPipe"))
        {
            Console.WriteLine("Waiting for client connection...");
            await server.WaitForConnectionAsync();
            Console.WriteLine("Client connected.");

            var buffer = new byte[1024];
            var readBytes = await server.ReadAsync(buffer, 0, buffer.Length);
            var message = Encoding.UTF8.GetString(buffer, 0, readBytes);
            Console.WriteLine($"Received message: {message}");

            var response = "Hello from server!";
            var responseBuffer = Encoding.UTF8.GetBytes(response);
            await server.WriteAsync(responseBuffer, 0, responseBuffer.Length);
            Console.WriteLine("Sent response to client.");
        }
    }
}

客戶端代碼:

using System;
using System.IO.Pipes;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (var client = new NamedPipeClientStream(".", "MyPipe", PipeDirection.InOut))
        {
            Console.WriteLine("Connecting to server...");
            await client.ConnectAsync();
            Console.WriteLine("Connected to server.");

            var message = "Hello from client!";
            var messageBuffer = Encoding.UTF8.GetBytes(message);
            await client.WriteAsync(messageBuffer, 0, messageBuffer.Length);
            Console.WriteLine("Sent message to server.");

            var buffer = new byte[1024];
            var readBytes = await client.ReadAsync(buffer, 0, buffer.Length);
            var response = Encoding.UTF8.GetString(buffer, 0, readBytes);
            Console.WriteLine($"Received response: {response}");
        }
    }
}

這個示例中,服務器端和客戶端都使用了異步方法來讀取和寫入數據。首先,服務器端創建一個NamedPipeServerStream實例并等待客戶端連接。客戶端使用NamedPipeClientStream連接到服務器。然后,客戶端向服務器發送一條消息,服務器接收到消息后回復一條響應。客戶端接收到響應后輸出到控制臺。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

顺昌县| 定边县| 绵阳市| 漾濞| 石棉县| 哈尔滨市| 江北区| 盐亭县| 莱阳市| 大英县| 南和县| 商都县| 桑日县| 六枝特区| 思南县| 拉萨市| 湘阴县| 资阳市| 绥宁县| 红河县| 龙山县| 通榆县| 大化| 镇江市| 哈密市| 湖南省| 肥城市| 盐源县| 柏乡县| 府谷县| 滨海县| 信丰县| 阳信县| 中西区| 宁武县| 浙江省| 浮山县| 灵山县| 洪泽县| 洪江市| 象州县|