Je suis nouveau à F #. J'essaie de communiquer avec java de F # en utilisant un tube nommé. Le code ci-dessous fonctionne mais je ne suis pas sûr s'il y a une meilleure façon de le faire (je sais que la boucle infinie est une mauvaise idée mais ce n'est qu'une preuve de concept) si quelqu'un a une idée pour améliorer ce code .Existe-t-il un meilleur moyen d'écrire des pipes nommés dans F #?
Merci à l'avance Sudaly
open System.IO
open System.IO.Pipes
exception OuterError of string
let continueLooping = true
while continueLooping do
let pipeServer = new NamedPipeServerStream("testpipe", PipeDirection.InOut, 4)
printfn "[F#] NamedPipeServerStream thread created."
//wait for connection
printfn "[F#] Wait for a client to connect"
pipeServer.WaitForConnection()
printfn "[F#] Client connected."
try
// Stream for the request.
let sr = new StreamReader(pipeServer)
// Stream for the response.
let sw = new StreamWriter(pipeServer)
sw.AutoFlush <- true;
// Read request from the stream.
let echo = sr.ReadLine();
printfn "[F#] Request message: %s" echo
// Write response to the stream.
sw.WriteLine("[F#]: " + echo)
pipeServer.Disconnect()
with
| OuterError(str) -> printfn "[F#]ERROR: %s" str
printfn "[F#] Client Closing."
pipeServer.Close()