프로그래밍 노트

c#에서 파일 매핑으로 공유한 메모리 읽기 본문

C#/기타

c#에서 파일 매핑으로 공유한 메모리 읽기

떡잎 2017. 4. 3. 21:34

c#에서 파일 매핑으로 공유한 메모리 읽기

파일 매핑을 다른 언어에서 해도 읽을 수 있음



using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;


using System.IO.MemoryMappedFiles;

using System.IO;


namespace ReadSharedMemory

{

    public partial class frmMain : Form

    {

        public frmMain()

        {

            InitializeComponent();

        }


        private void btnRead_Click(object sender, EventArgs e)

        {

            // MemoryMapTest로 이름붙인 공유 Memory 열기

            var mappedFile = MemoryMappedFile.OpenExisting(

                "MemoryMapTest", 

                MemoryMappedFileRights.ReadWrite);


            // 공유 Memory에서 읽은 것을 Stream으로 받기

            using (Stream view = mappedFile.CreateViewStream())

            {

                // stream을 String으로 변환

                view.Position = 0;

                using (StreamReader reader = new StreamReader(view, Encoding.UTF8))

                {

                    // Textbox에 표시 

                    txtReadMemory.Text = reader.ReadToEnd();

                }

            }

        }

    }

}



파일 매핑을 이용하여 프로세스간 메모리 공유


위의 링크에 있는 소스로 공유 메모리를 만든 것을

상기의 소스로 읽을 수 있음


Comments