`
cuishuangjia
  • 浏览: 156114 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

C# IPC通讯

阅读更多
首先建立一个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
……
结果是比较符合要求的。
分享到:
评论

相关推荐

    TCP+IPC通信类库(源码+示例)

    2. IPC进程通信:支持本地进程间通信,支持任意类型数据(文件传输除外),模式有push和pull两种。 具体使用方法,请看示例! 给单位做考勤系统,找了一些通信框架,都不理想,索性就自己动手,类库最开始是去年年初...

    1、C# IPC 本机进程通讯示例,包含服务端、客户端、RemoteObject

    1、C# IPC 本机进程通讯示例,包含服务端、客户端、RemoteObject

    C#简易Socket通讯工具

    Socket通讯在IT行业中是网络编程的基础,特别是在C#这样的多用途编程语言中,Socket通信扮演着重要的角色。本文将深入探讨C#中的Socket通信,帮助理解其原理、使用方法及其实现简易通信工具的关键步骤。 Socket是...

    C# winform Socket 即时通讯

    在本案例中,我们将聚焦于使用C#编程语言和WinForms来实现基于Socket的即时通讯系统。Socket是网络编程中的基本组件,它提供了进程间通信(IPC)的能力,尤其是跨网络的进程间通信。 首先,我们需要了解Socket的...

    一封装过的C#Socket通讯类

    本文将深入探讨“一封装过的C# Socket通讯类”,特别是针对UDP通讯的封装,以帮助开发者更高效地实现网络通信。 首先,让我们了解Socket的基本概念。Socket是进程间通信(IPC)的一种方式,它允许两个网络应用程序...

    c# 消息进程通讯

    标题“c# 消息进程通讯”指出我们将探讨的是使用C#编程语言通过消息机制进行进程间通信的方法。这种方法通常涉及Windows API,特别是Windows消息队列(Message Queue)和消息循环(Message Loop)。 **基础概念:**...

    C++程序和C#程序通讯例程

    本示例主要探讨了如何实现C++程序与C#程序之间的通信,这通常涉及到不同进程间通信(IPC,Inter-Process Communication)的技术。在这个案例中,标签“管道”表明使用的是管道作为通信机制。下面我们将详细讲解这一...

    C#实现进程间通讯(源码)

    压缩包文件"20230206 进程通讯"很可能包含了一些C#实现的进程间通信的源代码示例。这些示例可能涵盖了上述提到的几种通信方式,通过查看和学习这些源码,开发者可以更好地理解如何在实际项目中应用这些技术。 总之...

    C#进程间通讯

    在“C#进程间通讯”主题下,我们可以深入探讨以下知识点: 1. MSMQ的原理与配置:包括消息队列的创建、消息的发送与接收,以及如何处理消息的持久化和安全性。 2. 共享内存的创建与访问:介绍如何使用`Memory...

    C#与Twincat 通讯例子

    本篇将详细讲解如何在C#环境中与TwinCAT进行通讯,并利用TwinCAT.Ads.dll库进行数据交互。 首先,理解TwinCAT ADS(Automation Device Server)通信协议至关重要。ADS是TwinCAT系统提供的一种服务,它允许外部应用...

    c# socket 通讯Demo

    标题"C# Socket通讯Demo"指的是使用C#编程语言实现基于Socket协议的通信示例。这通常包括创建服务器端(Server)和客户端(Client)的应用程序。服务器端负责监听特定的IP地址和端口号,等待客户端的连接请求;...

    c# SOCKET 聊天通讯 实例

    本实例将深入讲解如何使用C#实现基于Socket的聊天通讯。 **Socket介绍** Socket是网络通信的基本单元,它提供了进程间通信(IPC)和网络间通信的能力。在C#中,Socket类位于System.Net.Sockets命名空间下,提供了...

    C# socket网络通讯程序--测试完好

    本文将深入探讨"C# socket网络通讯程序"的相关知识点,包括Socket的基本概念、C#中的Socket实现、多客户端服务器架构以及如何进行测试。 Socket,通常被称为套接字,是进程间通信(IPC)的一种方式,尤其适用于跨...

    C#实现共享内存通讯交互

    在这个"C#实现共享内存通讯交互"的项目中,我们将探讨如何使用C#语言来实现在WinForms应用程序中利用共享内存进行数据通信。 首先,我们要了解C#中的内存管理主要是通过.NET框架的垃圾回收机制来完成的,它并不直接...

    在.NET中基于Windows消息的IPC实现

    **标题解析:** "在.NET中基于Windows消息的IPC实现" 这个标题明确指出了我们要探讨的主题,即如何在.NET框架下利用Windows消息机制来实现进程间通信(IPC,Inter-Process Communication)。Windows消息是操作系统...

    c# Remoting 实现进程间互相调用 并传递消息

    C# Remoting是.NET Framework提供的一种跨进程通信技术,它允许不同进程间的对象互相调用方法,实现分布式系统中的组件交互。在这个场景中,我们关注的是如何利用C# Remoting来实现在不同进程之间传递消息并进行互...

    C#SOCKET通讯

    本文将深入探讨C#中的Socket通讯,旨在帮助开发者理解和掌握这一核心技术。 首先,Socket是网络通信的基础组件,它提供了一种进程间通信(IPC)的方式,允许两个或多个应用程序通过网络进行数据交换。在C#中,...

    net和C#中两个exe消息通讯

    在.NET和C#编程环境中,实现两个独立的可执行文件(EXE)之间的通信是一项常见的需求,这通常涉及到进程间通信(Inter-Process Communication, IPC)。在这个场景中,"WinForm之间消息通讯"指的是在Windows Forms...

    c# socket demo 已经封装成共通

    Socket是网络编程中的一个抽象概念,它提供了一种进程间通信(IPC)机制,特别是在分布式系统中,允许两台计算机通过网络交换数据。在C#中,System.Net.Sockets命名空间提供了Socket类,它是进行TCP和UDP通信的基础...

    labview与c#进行通信。使用技术为socket通信。

    Socket,也称为网络套接字,是网络编程的基础,它提供了进程间通信(IPC)和网络通信的能力。在LabVIEW和C#之间建立Socket通信,可以实现两者之间的实时数据交换,这对于构建混合式系统非常有用,比如,LabVIEW负责...

Global site tag (gtag.js) - Google Analytics