求助:一个进程与多个进程间的通信(急!急!)

moonclouds 2015-12-31 04:17:23
加精
需要在windows上开发一个命令行的工具PostEvent.exe,通过这个工具向另外一个程序Recv.exe发送系统Event。
而Recv.exe允许用户同时执行多次,应该可以理解为多进程处理了。
而不论Recv.exe有几个在同时执行,要求都能够接收到PostEvent.exe发出的系统Event信息。

原来考虑通过socket通信的方式来做,但是,多进程时端口这块就太多了,
想问问有没有其他的方法能够简单实现的呢?
...全文
2828 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
鱼子霸 2016-01-11
  • 打赏
  • 举报
回复
我也进来学习
blueink_200451 2016-01-10
  • 打赏
  • 举报
回复
爆豆 2016-01-09
  • 打赏
  • 举报
回复
SendMessage( HWND_BROARDCAST, RegisterWindowMessage("this is a broardcast message"), 0, 0);
fly4free 2016-01-09
  • 打赏
  • 举报
回复
PostEvent.exe 与 Recv.exe 谁先启动? 不过这也无所谓,设定一个命名 Event内核对象,根据需要注意是否是全局的(因为windows有session隔离) 可以规定: 1. 这个对象由 PostEvent.exe 负责创建,与 SetEvent 2. 没有这个对象,视为这个对象处于未触发状态,这样,谁先启动就没关系了。 就是在等待触发这块需要一些技巧,原来的一个 WaitForSingleObject 不够了 简单说来需要在 while 循环中, 先 OpenEvent ,如果找不到对象,continue,剩下的就 WaitForSingleObject 了 跳出循环后,根据需要办你的正事儿
jeakeven007 2016-01-08
  • 打赏
  • 举报
回复
learning
Heart09 2016-01-08
  • 打赏
  • 举报
回复
没看懂,revc都已经是多进程了,为什么很多端口处有问题了? 如果长连接的话,post为服务端,启动之后,recv去链接就行了,发送事件的时候,给每个recv发送以下就行了呗。 是不是我理解的不对?
「已注销」 2016-01-07
  • 打赏
  • 举报
回复
方法一: 发送端c 接收进程s1,s2,s3,sn... 每个接收进程创建一个内存映射文件,用户接收发送者发来的数据,m1,m2,m3,mn... 一个内存映射文件mBook,用来记录每个m1..mn的名称 发送端要发消息的时候,先从mBook抓取m1..mn的名称,然后依次将数据写入m1..mn 接收进程可以执行一个无限循环,每隔一段时间从m中去读取数据。也可以再增加一个事件对象放在mBook中,由发送端利用setevent()函数来通知接收进程有数据到达,接收利用一个循环等待这个时间对象就可以了。 ------------------ 以上是一个通用架构,可以不用内存映射文件m1..mn来接收数据,可以替换成磁盘文件(mBook上保存文件路径),socket(mBook上保存不同server的不同端口号),或是命名管道(mBook上保存管道名)....都可以。
hawke1234 2016-01-07
  • 打赏
  • 举报
回复
进程外COM组件 Win32 RPC
CyberLogix 2016-01-06
  • 打赏
  • 举报
回复
TCP连接是有可以共享端口的,ip+port唯一确定一个结点
  • 打赏
  • 举报
回复
oldmtn 2016-01-06
  • 打赏
  • 举报
回复
最简单的方法,窗口大小为0的MFC对话框程序。 直接Postmessage,非常方便。 嘿嘿
cattpon 2016-01-06
  • 打赏
  • 举报
回复
之前已经有过教学了~
飞鸿眉敛 2016-01-06
  • 打赏
  • 举报
回复
PostEvent. 做服务端,Recv.exe 做客户端,连接到 PostEvent 后就可以交互了,不管你有多少Recv.exe
busydou 2016-01-06
  • 打赏
  • 举报
回复
我是来学习的!
赵4老师 2016-01-05
  • 打赏
  • 举报
回复
qq_33641392 2016-01-05
  • 打赏
  • 举报
回复
我来学习学习
辰岡墨竹 2016-01-05
  • 打赏
  • 举报
回复
共享内存,或者ZeroMQ吧。 用Publish/Subscribe模型。
707wk 2016-01-05
  • 打赏
  • 举报
回复
用临时文件
1368484210 2016-01-05
  • 打赏
  • 举报
回复
学习学习。。。。
转角天边 2016-01-05
  • 打赏
  • 举报
回复
枚举进程,得到Recv.exe程序的所有句柄,依次给进程发送消息
加载更多回复(12)

64,647

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧