之前有文章介绍了一些在Windows环境下,基于C#语言开发实现进程通讯的程序。
下面稍微整理一下,让脉络清晰起来。
**
这个进程通讯(下简称IPC),是为了让同一个电脑两个彼此独立应用程序之间,可以交互数据。
如前文所述,方法很多,我们选取了最牛X的 共享内存技术。
**
共享内存,没有所谓的 服务器和客户端概念。本质上是操作系统从中间撮合,将两个进程产生了通讯,每个应用程序都可以去创建或打开一个共享空间,只要你知道这个共享内存空间的名字即可。
在C#里面用到的函数是:MemoryMappedFile.CreateOrOpen。
它可以向操作系统创建或者打开一个内存空间,然后就可以使用了,需要说明的是,只有当所有的应用程序都不在和这个内存共享空间断绝联系,操作系统才会回收这个共享空间。
**
理论铺垫到此结束,下面进入代码实操。
××下述代码实现读的功能××
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO.MemoryMappedFiles;
using System.Threading;
using System.IO;
namespace CSharp共享内存
{
class Program
{
static void Main(string[] args)
{
//第一步:让操作系统申请创建/打开一个名为:lipan 的内存空间