进程间通信

来源:百度知道 编辑:UC知道 时间:2024/05/29 02:01:22
开发环境 linux
最近正在用是socket实现信息的收发.但有一个问题一直无法解决:
描述如下, 本地端有一个server 服务端作为后台程序运行,等待是否收到远程端发送来的信息.
一个client客户端 作为发送信息的程序,按需执行,即有需求时执行.
现在的问题就是如何实现本地端的client和server端进程通信.client和server都不能阻塞,若一事件触发了本地client端向远程server发送消息,,然后本地client端启动定时器,在规定的时间内等待本地server端的通知,根据是否收到本地server端的通知来做下一步的动作.而本地server端循环读取远程client端的发送来的几种消息,若本地server收到指定消息,立即通知本地client端.
用信号量,共享内存等可否实现即时通知?
其实1楼说的和我的本意不太一样,我的client和server都是本地的,所以要实现本地进程间的通信.而两台机器上的通信,即本地client与远端server通信我已经实现 现在就是卡在本地client和本地server进程间的通信了

信号量,共享内存都是进程间的通信,必须在同一个机器上跑。

我想你的本意client和server是不在同一个机器上的,信号量和共享内存就不适合了。

client主进程和server主进程都可以起一个进程B,专门处理信息的收发。进程B与主进程用ipc来通信。