查看完整版本: [-- 两个进程之间通讯问题 --]

QTCN开发网 -> Qt基础编程 -> 两个进程之间通讯问题 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

znlangel 2019-06-20 14:26

两个进程之间通讯问题

问题前提:现在我有两个EXE文件,其中一个是32位的(因为是开发的第三方的SDK,然后提供的库就只有32位的,所以只能开发了32位的工程了),另一个是64位的工程,现需要两个工程之间进行通讯,采用的是windows下自定义消息类型然后发送消息这样的机制来做的,32位的工程是发送消息端,64位作为消息响应端。
问题描述:现在32位的工程点击UI上的一个按钮发送消息出去,然后64位的工程去接受消息,那么问题来了,就是有的时候两者之间的消息通讯是正常的,收发消息是没问题了,但是有的时候呢,收发消息又不能正常的进行。如果分别启动Qt程序去调试的时候,就很正常的,但是如果直接运行exe呢,有的时候ok,有的时候ng,请问,有碰到过这类问题的朋友吗?

hgx123 2019-06-20 15:04
用的什么通信方式?SendMessage吗

圣域天子 2019-06-20 15:20
基本都是用 QLocalSocket 、QLocalServer 进行的

znlangel 2019-06-21 09:43
hgx123:用的什么通信方式?SendMessage吗 (2019-06-20 15:04) 

是的 用的SendMessage

znlangel 2019-06-21 09:46
圣域天子:基本都是用 QLocalSocket 、QLocalServer 进行的 (2019-06-20 15:20) 

因为我想之后像这种通讯什么的都用C++来实现,Qt只做显示而已

20091001753 2019-06-21 10:36
本地程序之间,用 SendMessage 通讯,是惯用的伎俩,方案肯定是没问题的。
只是为什么楼主的代码会偶尔失灵,这需要自己排查。

hgx123 2019-06-21 12:57
znlangel:是的 用的SendMessage (2019-06-21 09:43) 

是不是接收方没处理完?试一下SendMessageTimeout
https://blog.csdn.net/myworldbig/article/details/6407443

hgx123 2019-06-26 16:37
64位进程和32位进程通信问题 https://blog.csdn.net/xiaofeizai1116/article/details/54315895


查看完整版本: [-- 两个进程之间通讯问题 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled