首先建立一个IPC通讯中使用的对象,其中MarshalByRefObject 是必须的
using System;
namespace Ipctest
{
public class test:MarshalByRefObject
{
private int iCount = 0;
public int count()
{
iCount++;
return iCount;
}
public int Add(int x)
{
iCount += x;
return iCount;
}
}
}
接着建一个服务端控制台程序
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Ipc;
namespace Ipctest
{
class Program
{
static void Main(string[] args)
{
IpcChannel serverchannel = new IpcChannel("testchannel");
ChannelServices.RegisterChannel(serverchannel,false);
RemotingConfiguration.RegisterWellKnownServiceType(typeof(test), "test", WellKnownObjectMode.Singleton);
Console.WriteLine("press Enter to exit");
Console.ReadLine();
Console.WriteLine("server stopped");
}
}
}
最后是客户端控制台程序
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Ipc;
namespace Ipctest
{
class Program
{
static void Main(string[] args)
{
IpcChannel tcc = new IpcChannel();
ChannelServices.RegisterChannel(tcc,false);
WellKnownClientTypeEntry remotEntry = new WellKnownClientTypeEntry(typeof(test), "ipc://testchannel/test");
RemotingConfiguration.RegisterWellKnownClientType(remotEntry);
test st = new test();
Console.WriteLine("{0},{1}",st.count(),st.Add(1));
Console.ReadLine();
}
}
}
在测试的过程中会发现第一次调用客户端输出结果:
1,2
第二次输出结果
3,4
……
结果是比较符合要求的。
分享到:
相关推荐
2. IPC进程通信:支持本地进程间通信,支持任意类型数据(文件传输除外),模式有push和pull两种。 具体使用方法,请看示例! 给单位做考勤系统,找了一些通信框架,都不理想,索性就自己动手,类库最开始是去年年初...
c# Remoting 实现进程间互相调用 并传递消息
进程间通讯(两个应用程序如何通讯)C#源代码 消息传递 message-passing:通过操作系统的相应系统调用进行消息传递通讯。分为直接和间接两种: 直接通信方式:点到点的发送 Send (DestProcessName, Message); ...
这是我的Blog文章《在.NET中基于Windows消息的IPC实现》一文的源码例子。
NET Remoting、消息队列、WCF(集成了前述方法的功能,但太新,不支持Windows2000及以前的系统),其中Remoting可以支持TCP、HTTP、IPC通道的通信,而IPC通道速度快,且仅能供处于同一个系统中的进程间进行通讯。...
zeroIce是一个跨平台跨语言的通讯框架,利用zeroIce可快速搭建c#的rpc服务器。
进程是操作系统的基础之一。一个进程可以认为是一个正在执行的程序。...这个类可以允许我们的应用程序开启一个新的外部程序,并且与这个程序进行通讯。下面我们用一个非常简单的例子开始我们本章有关进程的阐述。
工业自动化机台与机台之间的通讯协议,接口协议针脚定义。
C#进程间通讯,通俗易懂有需要的来啊,这里的服务端和客户端只是逻辑概念,只要知道对方的 IPC 端口号和路由地址,就可以实现调用。
项目中在同一台机器上要使用进程间通讯,研究了IPC,命名管道等相关技术,觉得命名管道比较适合我这个项目。但网上资料不是很全,根据网上资料,自己写了个测试程序。压缩包中包含两个测试,其中一个NamedPipe.cs是...
在C#中,有多种进程间通信(Inter-Process Communication,IPC)的技术。以下是一些主要的通信方式: 1.命名管道(Named Pipes) 2.套接字(Sockets) 3.共享内存(Shared Memory) 4.信号量(Semaphore) 5.消息...
共享内存C#共享内存类,用于在进程之间共享数据(数组,缓冲区,循环缓冲区和RPC)关于SharedMemory类库提供了一组C#类,这些C#类利用内存映射文件进行快速的低级进程间通信(IPC)。 最初仅用于在进程之间共享...
C#,IpcServerChannel,IpcClientChannel不同程序之间的通讯。。。
初学remoting,已实现信息互通,互相抖动窗口。
此为Sers微服务-服务中心运行程序,2.1.1.250版本。... Sers为一套跨平台跨语言的开源微服务架构协议。单机QPS能达15万。目前支持C++、Java、c#、javascript。...支持原生tcp、zmp、websocket、ipc等多种通讯方式。
华夏相机车牌识别系统sdk开发库for windows 有多个代码实例,非常方便。