#24437
cpiga
Partecipante

Questa un’altra versione:

using System;
using System.IO;
using System.IO.MemoryMappedFiles;
using System.Threading;

class Program
{
    // Process B:
    static void Main(string[] args)
    {
        try
        {
            using (MemoryMappedFile mmf = MemoryMappedFile.OpenExisting("Theremino1"))
            {
                var mmf_persistent = MemoryMappedFile.CreateFromFile(@"Theremino1_persist", FileMode.Open, "Thermino1_persist");
                byte[] buffer = new byte[4000];
                int bytesRead;
                using (MemoryMappedViewStream stream_persist = mmf.CreateViewStream())
                {
                    BinaryWriter writer = new BinaryWriter(stream_persist);
                    using (MemoryMappedViewStream stream = mmf_persistent.CreateViewStream())
                    {
                        BinaryReader reader = new BinaryReader(stream);
                        while (true)
                        {
                            bytesRead = reader.Read(buffer, 0, buffer.Length);
                            writer.Write(buffer, 0, bytesRead);
                        }

                    }

                }

  
            }
        }
        catch (FileNotFoundException)
        {
            Console.WriteLine("Memory-mapped file does not exist. Run HAL first.");
        }
    }
}

Ma Matlab vede sempre e solo il contenuto del file di zeri che ho scritto sul file system….