c#에서 파일 매핑으로 공유한 메모리 읽기
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();
}
}
}
}
}
파일 매핑을 이용하여 프로세스간 메모리 공유
위의 링크에 있는 소스로 공유 메모리를 만든 것을
상기의 소스로 읽을 수 있음