Ich habe Schwierigkeiten, IPC-Anwendung in .Net zu entwickeln. Ich habe bereits eine Anwendung mit .Net geschrieben, aber meine Implementierungsumgebung ist Ubuntu, also schreibe ich meinen .net Code in .net core um. In ubuntu kann ich [DllImport("kernel32.dll", SetLastError = true)]
nicht schreiben, also fand ich einen Mechanismus Rohre. Ich habe Schwierigkeiten, Pipes in meinem bestehenden Code zu implementieren. Derzeit Ich schaffe Rohr alsWie werden Named Pipes in C# implementiert?
[DllImport("kernel32.dll", SetLastError = true)]
public static extern SafeFileHandle CreateNamedPipe(
String pipeName,
uint dwOpenMode,
uint dwPipeMode,
uint nMaxInstances,
uint nOutBufferSize,
uint nInBufferSize,
uint nDefaultTimeOut,
IntPtr lpSecurityAttributes);
ich dies unter Verwendung der in Methode listenforclients als
clientHandle =CreateNamedPipe(this.pipeName,DUPLEX | FILE_FLAG_OVERLAPPED,0,255,BUFFER_SIZE,BUFFER_SIZE,0,IntPtr.Zero);`
habe ich versucht, diese
NamedPipeServerStream pipeServer = new NamedPipeServerStream("_PipeName",PipeDirection.InOut,2,PipeTransmissionMode.Message,PipeOptions.None);
clientHandle = pipeServer(this.pipeName, DUPLEX | FILE_FLAG_OVERLAPPED, 0, 255, BUFFER_SIZE, BUFFER_SIZE, 0, IntPtr.Zero);
Dies Fehler pipeserver Ergebnisse nicht wie Verfahren verwendet werden. Kann jemand mir helfen, die richtige Methode für das oben genannte zu schreiben? Jede Hilfe würde sehr geschätzt werden. Vielen Dank.
Vielen Dank für Ihre Hilfe. Serializer existiert nicht im Kontext ist der erste Fehler, den ich bekomme. weiter statt ... was soll ich schreiben? Auch ich habe int Erfolg = ConnectNamedPipe (clientHandle, IntPtr.Zero); Was soll ich an diesem Ort schreiben? –
@Niranjan Godbole: Ich fügte der Antwort weitere Informationen hinzu. Es ist ein Weg, Named Pipe-Kommunikation zu machen, aber ich kann nicht wirklich sagen, ob es für Ihr Beispiel richtig ist. –
Danke für Ihre Hilfe. Ich werde etwas anderes sehen –