gpt4 book ai didi

c# - 在 Mono 中处理通信的简单跨平台进程?

转载 作者:可可西里 更新时间:2023-11-01 08:45:44 25 4
gpt4 key购买 nike

我正在开发一个将在 Linux、Mac 和 Windows 上运行的 Mono 应用程序,并且需要应用程序(在单个操作系统上)能够相互发送简单的字符串消息。

具体来说,我想要一个单实例应用程序。如果尝试启动第二个实例,它将改为向已在运行的单个实例发送一条消息。

DBus 已经过时了,因为我不想让它成为一个额外的要求。套接字通信似乎很难,因为 Windows 似乎不允许连接权限。Mono 似乎不支持内存映射文件。Mono 似乎不支持命名管道。Mono 似乎不支持 IPC。

那么,有没有一种简单的方法可以将单台机器上的字符串消息发送到适用于每个操作系统的服务器应用程序,而无需权限或其他依赖项?

最佳答案

在我的 ubuntu(10.10 单声道版本:2.6.7)上,我尝试使用 WCF用于与 BasicHttpBinding、NetTcpBinding 和 NetNamedPipeBinding 进行进程间通信。前 2 个工作正常,对于 NetNamedPipeBinding 我得到一个错误:

Channel type IDuplexSessionChannel is not supported

当调用 ChannelFactory.CreateChannel() 方法时。

我也试过使用 Remoting (这是自 WCF 出现以来的遗留技术)与 IpcChannel;来自这个的例子 msdn page在我的机器上启动并正常工作。

我想您在 Windows 上使用 WCF 或 Remoting 也不应该有问题,但不确定 Mac,周围没有任何东西可以测试。如果您需要任何代码示例,请告诉我。

希望这对你有帮助,问候

关于c# - 在 Mono 中处理通信的简单跨平台进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5366316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com