广告
淘宝内部优惠券
当前位置: 开发异常方案库» .NET技术 » 讨论下,进程间通信的问题

讨论下,进程间通信的问题

开发异常方案库  收集整理于:2020-05-09 11:42:00  浏览:66次
网络上看了下,总结的几种进程间通信的办法,总感觉比较复杂。 我个人是认为,就是这个自我宿主方式的WCF很好用,做起来比较简单,跑起来也很稳定。如果有服务器,挂靠IIS的也不错。 但是,想请大侠们,给我介绍下,还有没有类似WCF这样的简单稳定的、能够实现实时双向通信的技术? 要求是:一方面能实现同一台电脑的不同的进程之间的实时双向通信,另一方面也能实现网络上两台电脑之间的不同的进程之间的实时双向通信。(webservice与WCF类似,也不算了)http ftp这些不算了

------网友观点--------------------
我记得Web Socke可以实现双向通信 https://edu.csdn.net/course/play/25610/352908

------网友观点--------------------
引用 1 楼 无味无感 的回复:
我记得Web Socke可以实现双向通信 https://edu.csdn.net/course/play/25610/352908
socket粘包的问题,可能还是无解啊。分包处理虽然可以,但是就不太好了。

------网友观点--------------------
消息通讯可以

------网友观点--------------------
如果局限在本机,可以用管道(pipe)

------网友观点--------------------
引用 3 楼 lizhihui20 的回复:
消息通讯可以
消息是可以,但还是不太理想,因为相比之下,麻烦了些,安装消息服务端,建立队列路由等。

------网友观点--------------------
引用 4 楼 贵阳老马马善福专业维修游泳池堵漏防水工程 的回复:
如果局限在本机,可以用管道(pipe)
好的,下次试试看。但最好还是能实现非本机的。

------网友观点--------------------
有句很老的歌词,很贴切的形容这里的风格“不理不问啊不想” 你这些东西,其实很早就被通用化了。只是这里的人也就只剩那句歌词了。 netmq,akka.net,ProtoAct,微软的Orleans 全是此类,单进程内通讯,本机多进程通讯,网络通讯。 可能akka的资料多点,我就用akka说。 对于你来说只是需要本机单进程能调试通过,你的系统就完成了。因为剩下的只是修改配置,你让什么方法(他叫Actor)跟谁通讯他就跟谁通讯。 再说点后话,当然这些东西基于配置,简单的玩意你就手动配就好。如果复杂的分布式网络,建议加入etcd,zoopkeeper这里进行全局统一配置

------网友观点--------------------
引用 7 楼 wanghui0380 的回复:
有句很老的歌词,很贴切的形容这里的风格“不理不问啊不想” 你这些东西,其实很早就被通用化了。只是这里的人也就只剩那句歌词了。 netmq,akka.net,ProtoAct,微软的Orleans 全是此类,单进程内通讯,本机多进程通讯,网络通讯。 可能akka的资料多点,我就用akka说。 对于你来说只是需要本机单进程能调试通过,你的系统就完成了。因为剩下的只是修改配置,你让什么方法(他叫Actor)跟谁通讯他就跟谁通讯。 再说点后话,当然这些东西基于配置,简单的玩意你就手动配就好。如果复杂的分布式网络,建议加入etcd,zoopkeeper这里进行全局统一配置
好的,感谢。这些要花时间好好看看。

------网友观点--------------------
MQ呀,不是号称分布式事务统一通信么

------网友观点--------------------
netmq,akka.net,ProtoAct,微软的Orleans 这几个说起来还是毕竟有意思 netmq------是zeromq的net实现版本------zeromq是一个非常流行的C++项目,作者已经陪上帝了(愿作者安息),不过这项目本身因为太流行,所以有人继续维护 (python的人也经常使用因为python的人其实最痛苦的也是怎么通讯,以前python都是玩算法,玩科学的,根本不考虑生产。现在要跟人配合了,如何通讯也就成了问题) akka.net------------是akka的net实现版本------akka本身是Scala语言编写(因为java的人也羡慕erlang那种天生就是为分布通讯的简单优雅实现) ProtoAct--------------这个是后进,同样是仿照erlang,提供Go和net的接口 Orleans---------这个是微软的,不过我个人不太喜欢。太重了,而且既然net core了,那么和其他语种配合才是问题。前面3个至少你从描述都知道,他们起码都是跨语种的协议。而微软这个,理论上可以跨语种,不过谁来研究他,来做支持呢?就像你说wcf,俺们用没问题,虽然有坑,不过基本都能跨过去。但是你说python,java,go跟你配合,怎么弄?让java的对接你的wcf,又得折腾了。折腾好了没问题,折腾出毛病,一准是“你们net啥玩意,搞这么复杂还一堆毛病”

------网友观点--------------------
引用 10 楼 wanghui0380 的回复:
netmq,akka.net,ProtoAct,微软的Orleans 这几个说起来还是毕竟有意思 netmq------是zeromq的net实现版本------zeromq是一个非常流行的C++项目,作者已经陪上帝了(愿作者安息),不过这项目本身因为太流行,所以有人继续维护 (python的人也经常使用因为python的人其实最痛苦的也是怎么通讯,以前python都是玩算法,玩科学的,根本不考虑生产。现在要跟人配合了,如何通讯也就成了问题) akka.net------------是akka的net实现版本------akka本身是Scala语言编写(因为java的人也羡慕erlang那种天生就是为分布通讯的简单优雅实现) ProtoAct--------------这个是后进,同样是仿照erlang,提供Go和net的接口 Orleans---------这个是微软的,不过我个人不太喜欢。太重了,而且既然net core了,那么和其他语种配合才是问题。前面3个至少你从描述都知道,他们起码都是跨语种的协议。而微软这个,理论上可以跨语种,不过谁来研究他,来做支持呢?就像你说wcf,俺们用没问题,虽然有坑,不过基本都能跨过去。但是你说python,java,go跟你配合,怎么弄?让java的对接你的wcf,又得折腾了。折腾好了没问题,折腾出毛病,一准是“你们net啥玩意,搞这么复杂还一堆毛病”
也是,以前想弄个wcf服务供php端调用,对方一听说是wcf,连连摇头,说以前他和wcf对接过,麻烦死了,只好放弃了。

------网友观点--------------------
类似WCF这样的简单稳定的、能够实现实时双向通信的技术? ------------- 有,iMSF框架,使用WCF为通信框架,利用它的双工TCP通信功能,设计开发的一个实时消息通信系统,支持点对点和一对多的消息订阅和推送,以及服务器回调客户端任意函数,使用简单,详细内容可以参考这个入门:《“一切都是消息”--iMSF(即时消息服务框架)入门简介

------网友观点--------------------

------网友观点--------------------

------网友观点--------------------

------网友观点--------------------

------网友观点--------------------

------网友观点--------------------

------网友观点--------------------

------网友观点--------------------

------网友观点--------------------

------网友观点--------------------

------网友观点--------------------

------网友观点--------------------

------网友观点--------------------

------网友观点--------------------

------网友观点--------------------

------网友观点--------------------

------网友观点--------------------

------网友观点--------------------
发布此文章仅为传递网友分享,不代表本站观点,若侵权请联系我们删除,本站将不对此承担任何责任。
软件开发 程序错误 异常 ybaby.netCopyright © 2020-2026  ybaby 版权所有  桂ICP备17004385号-2 网站地图