Ich versuche, in Java eine benannte Pipe unter Fenstern zu erstellen.[code]final String pipeName = "\\\\.\\pipe\\test" ; WinNT.HANDLE hNamedPipe = Kernel32.INSTANCE.CreateNamedPipe(pipeName, WinBase.PIPE_ACCESS_DUPLEX, // dwOpenMode WinBase.PIPE_TYPE_MESSAGE | WinBase.PIPE_READMODE_MESSAGE | WinBase.PIPE_WAIT, // dwPipeMode 1, // nMaxInstances, MAX_BUFFER_SIZE, // nOutBufferSize, MAX_BUFFER_SIZE, // nInBufferSize, (int) TimeUnit.SECONDS.toMillis(30L), // nDefaultTimeOut, null // lpSecurityAttributes ); logger.info("Await client connection"); Kernel32.INSTANCE.ConnectNamedPipe(hNamedPipe, null); logger.info("Client connected"); String testmessage = "Test Message"; IntByReference lpNumberOfBytesWritten = new IntByReference(0); Kernel32.INSTANCE.WriteFile(hNamedPipe, testmessage.getBytes(), testmessage.getBytes().length, lpNumberOfBytesWritten, null); logger.info("Echoed client data - length=" + lpNumberOfBytesWritten.getValue()); Kernel32.INSTANCE.FlushFileBuffers(hNamedPipe); < /code> Mit einem zweiten Programm möchte ich als Client eine Verbindung herstellen und den Inhalt lesen.void testReceive() throws Exception { String pipeName = "\\\\.\\pipe\\test"; try (RandomAccessFile reader = new RandomAccessFile(pipeName, "r")) { System.out.println("Waiting for Named Pipe...");
String line; while ((line = reader.readLine()) != null) { System.out.println("Received: " + line); } } } < /code> Das Problem, mit dem ich ausgesetzt bin, ist, dass das zweite Programm die Nachricht nur empfängt, wenn das Handle im ersten Abschluss geschlossen ist.$pipeServer = [System.IO.Pipes.NamedPipeServerStream]::new("test", [System.IO.Pipes.PipeDirection]::InOut, 1) $pipeServer.WaitForConnection() $reader = New-Object System.IO.StreamReader($pipeServer) $writer = New-Object System.IO.StreamWriter($pipeServer) $writer.AutoFlush = $true $writer.WriteLine("TestMessage") while ($true) { $reader.ReadLine() #block } [/code] Hat jemand eine Idee, was ich möglicherweise falsch mache?
Ich bin ein Anfänger in C++. Könnten Sie mir helfen herauszufinden, was dieses Problem verursacht?
Als ich MinGW zum Kompilieren eines C++-„Hello World“-Programms verwendete, stellte ich fest, dass...
Ich bin auf einem Hostmaschine von Windows 10 (Build 19044) und führt eine Ubuntu 18.04 -Instanz in einem WSL2 -Container aus. Verwenden von VS -Code mit der microsoft -Python -Erweiterung, die...
Ich hatte viele Probleme mit dem Test Explorer in VSCode. Es hat bis letzte Woche gut funktioniert. Ich habe neue Tests geschrieben und auf „Tests aktualisieren“ geklickt, und dann hat es plötzlich...