Bagaimana cara menulis minimum - sederhana yang diperlukan agar dapat berfungsi - aplikasi uji yang menggambarkan cara menggunakan IPC / Named Pipes?
Misalnya, bagaimana seseorang akan menulis aplikasi konsol di mana Program 1 mengatakan "Hello World" ke Program 2 dan Program 2 menerima pesan dan membalas "Roger That" ke Program 1.
c#
ipc
named-pipes
Pelatih Jordan
sumber
sumber
Thread.Sleep
Task.Factory.StartNew
denganTask.Run
.reader
/writer
? Jika demikian, apakah Anda hanya membuang salah satunya? Saya belum pernah melihat contoh di mana keduanya terhubung ke aliran yang sama.Untuk seseorang yang baru mengenal IPC dan Named Pipes, saya menemukan paket NuGet berikut ini sangat membantu.
GitHub: Named Pipe Wrapper untuk .NET 4.0
Untuk menggunakan, instal dulu paket:
Kemudian server contoh (disalin dari tautan):
Contoh klien:
Hal terbaik untuk saya bagi saya adalah tidak seperti jawaban yang diterima di sini, ia mendukung banyak klien yang berbicara dengan satu server.
sumber
Anda benar-benar dapat menulis ke pipa bernama menggunakan namanya, btw.
Buka shell perintah sebagai Administrator untuk mengatasi kesalahan "Akses ditolak":
sumber
FYI dotnet core di linux tidak mendukung namedpipes, coba tcplistener sebagai gantinya jika Anda berada di linux
Kode ini memiliki klien round trip byte.
DotNet Core 2.0 Server ConsoleApp
DotNet Core 2.0 Client ConsoleApp
sumber
System Unauthorized Accesss Exception - path is denied