C# mono 进程间、应用程序间跨平台消息传递实现。 (如何)

     2023-02-16     57

关键词:

【中文标题】C# mono 进程间、应用程序间跨平台消息传递实现。 (如何)【英文标题】:C# mono inter process, inter application cross platform messaging implementation. (How to) 【发布时间】:2013-09-27 03:49:27 【问题描述】:

我正在开发应用程序和 c#,目前,我只从事 Windows 平台的项目。但是,我打算开始使用 C# mono 来使我的程序能够与 linux、mac-os 和 windows 一起使用。

我在我的程序中实现的功能之一是它们之间的通信能力(即一个控制台类型的程序,它可以通过发送命令和接收回复消息、记录消息、信号等方式与 GUI 程序进行通信和交互)。回到 windows dotnet 框架,我正在查看匿名管道,但现在,我正在检查 Mono.Unix.UnixPipes 是否会为我完成这项工作,并让我在 linux 下实现进程间消息传递,几乎不需要调整, mac-os 和 windows。

我对这种功能有点陌生,我现在正在阅读文档(但是,类和对象文档对我的帮助还不是很大)。我还浏览了一些在 *** 中发布的进程间消息传递问题。

如果有人有关于如何执行此操作的教程类文档或示例的链接,那将是一个很大的帮助。请帮忙?

谢谢。

【问题讨论】:

【参考方案1】:

我强烈建议运行一个 mongodb(可以轻松地从开发盒扩展到数百台服务器)并在其上使用库 https://github.com/dominionenterprises/mongo-queue-csharp 进行消息传递。它具有查询消息的能力,这使得一些非常好的模式成为可能。它还与单声道兼容!如果将来需要,还可以提供一些其他语言。

【讨论】:

如何在 .NET 和 Java 之间创建跨平台进程间通信?

】如何在.NET和Java之间创建跨平台进程间通信?【英文标题】:HowcouldIcreateacrossplatforminterprocesscommunicationbetween.NETandJava?【发布时间】:2010-10-2809:33:17【问题描述】:我想开发某个插件/扩展,它需要在eclipse中运行并且必须与另一... 查看详情

vc进程间通信之消息传递postmessge()或sendmessage()

1. 进程内消息:(1).仅仅传消息码(2).传送消息串发送端:voidCTestDlg::OnBnClickedButtonSend(){ CString*msg=newCString("发送的字符串"); ::SendMessage(m_hWnd,WM_USER+1,0,(LPARAM)msg); deletemsg;}接收端:afx_msgHRESULTOnClickBtn(WPA 查看详情

c#进程之间对象传递方法

1.起源KV项目下载底层重构升级决定采用独立进程进行Media下载处理,以能做到模块复用之目的,因此涉及到了独立进程间的数据传递问题。目前进程间数据传递,多用WM_COPYDATA、共享dll、内存映射、Remoting等方式。相对来说,WM_CO... 查看详情

进程间通信/广播

...。我想跟踪从服务到服务控制管理器(这是一个窗口窗体应用程序)的消息,但我不确定这样做的最佳方法是什么。该服务应将消息广播给所有以非阻塞方式列出的客户端。我考虑过使用命名管道或邮槽,但我不确定是否有更好 查看详情

如何保护进程间生产者消费者消息传递机制免受由于一侧崩溃而导致的损坏?

】如何保护进程间生产者消费者消息传递机制免受由于一侧崩溃而导致的损坏?【英文标题】:Howcananinterprocessproducerconsumermessagepassingmechanismbeprotectedagainstcorruptionduetoonesidecrashing?【发布时间】:2017-08-1513:07:29【问题描述】:我在... 查看详情

进程间通信方式

...通常提供了自己的同步机制.相反,共享内存区通常需要由应用程序提供的某种同步形式才能正常工作.解决某个特定问题应使用哪种IPC不存在简单的判定,应该逐渐熟悉各种IPC形式提供的机制,然后根据特定应用的要求比较它们的特... 查看详情

进程间通信(信号量共享内存和消息队列)

...net/jsd2honey/article/details/59663748 IPC(Inter-ProcessCommunication,进程间通信)机制,也被称为SystemVIPC。下面将介绍以下内容:信号量:用于管理对资源的访问。共享内存:用于在程序之间高效地共享数据。消息队列:在程序之间传递数... 查看详情

进程间通信

...信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。2.命名管道FIFO:有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。4.消息队列MessageQueue:消息... 查看详情

管道通信为啥比共享内存效率低

...队列包括消息优先级、消息达通知等丰富内容信号机制:进程间事件通知场合使用比进程A完某业务通知进程B干达沟通目仅仅传递信号没丰富信息传递现传递信号附带数据管道:低级通信机制消息队列比管道高级管道PIPEFIFOPIPE名... 查看详情

进程间通讯之有名管道

...)。目前的计算机系统均提供了多任务并行环境,无论是应用程序还是系统程序,都需要针对每一个任务创建相应的进程。每个进程之间都是相互独立的,不同的进程运行在各自不同的内存空间中,因此,进程之间的信息传递不... 查看详情

Laravel 用户间消息传递系统

...发布时间】:2017-05-2316:54:33【问题描述】:我正在为我的应用程序开发一个消息系统,目前我有两个表:1)messages表:Schema::create(\'messages\',function(Blueprint$table)$table->increments(\'id\');$table-> 查看详情

001:进程间通信类型

一:IPC:interprocesscommunication进程间通信技术。 某个操作系统上不同进程间的各种消息的传递(messagepassing)二:类型  1.管道(pipe).无名管道在有共同祖先的进程间使用。无名管道(FIFO)解决了,没有亲缘关系进程... 查看详情

进程间通信——消息队列

1、消息队列的简介 消息队列就是在进程之间架设起通信的通道,信息在通道中传递(具有时间先后的),从宏观逻辑上来讲与管道是一致的。即就是消息队列也同样是:(1)、具有入口和出口;(2)、消息从入口到出口,是FIFO的... 查看详情

Lua 和 C# 的进程间通信

...【发布时间】:2010-02-0600:46:20【问题描述】:我有一个Lua应用程序,我想在Lua应用程序和C#程序之间进行通信。我知道在C#中执行此操作的几种方法(套接字、OS管道等),但我在Lua(不幸的是,这是一种我相当不熟悉的语言)中... 查看详情

进程间通信方式特点

...信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。2.高级管道(popen): 将另一个程序当做一个新的进程在当前程序进程中启动,则它算是当前程序的子进程,这种方... 查看详情

进程间通信方式特点

...信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。2.高级管道(popen): 将另一个程序当做一个新的进程在当前程序进程中启动,则它算是当前程序的子进程,这种方... 查看详情

android安全笔记-进程间通信基本概念(intentbundleparcelableparcel)

进程间通信进程间传递消息:例如启动一个Activity,在Intent中设置传递参数及其他数据(字符串、整数、数组、对象)  ·intent.putExtra消息组织和传递:Intent、Bundle、Parcelable、Parcel前面我们知道Bundle可以绑定... 查看详情

进程间通信详解

...),具有固定的读端和写端。它只能用于具有亲缘关系的进程之间的通信(也是父子进程或者兄弟进程之间)。它可以看成是一种特殊的文件,对于它的读写也可以使用普通的read、write等函数。只存在于内存中。 二、FIFOFIFO... 查看详情