当windows需要和linux亲密接触的时候.进程间通讯方式可以有很多种,借助不同的通讯介质,如串口,usb口.最常用的无疑是网络,具体一点就是socket.
于是我们想到如果能搭建这样一个平台实现windows和linux跨平台进程间通讯.需要通讯的程序(进程)使用简单的接口就实现平台内和跨平台的通讯。平台内可以用多种平台相关的通讯方式,平台之间的通过socket实现通讯。当然如果平台内也使用socket那整个框架结构无疑会简单许多。但是牺牲了效率。
于是就会有如下这样一个简单的设想:
首先回顾各自平台的常用进程间通讯方式,在平台内部进程间通讯,实现各自的平台相关的通讯,
于是我们想到如果能搭建这样一个平台实现windows和linux跨平台进程间通讯.需要通讯的程序(进程)使用简单的接口就实现平台内和跨平台的通讯。平台内可以用多种平台相关的通讯方式,平台之间的通过socket实现通讯。当然如果平台内也使用socket那整个框架结构无疑会简单许多。但是牺牲了效率。
于是就会有如下这样一个简单的设想:
首先回顾各自平台的常用进程间通讯方式,在平台内部进程间通讯,实现各自的平台相关的通讯,
Window下进程间通信的几种主要手段
1, Map file to memory
2, Share memory with DLL
3, Message
4, Share memory way: ReadProcessMemory And WriteProcessMemory
5, Socket
1, Map file to memory
2, Share memory with DLL
3, Message
4, Share memory way: ReadProcessMemory And WriteProcessMemory
5, Socket
Linux下进程间通信的几种主要手段简介:
1.管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信;
2. 信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;Linux除 了支持Unix早期信号语义函数sigal外,还支持语义符合Posix.1标准的信号函数sigaction(实际上,该函数是基
1.管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信;
2. 信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;Linux除 了支持Unix早期信号语义函数sigal外,还支持语义符合Posix.1标准的信号函数sigaction(实际上,该函数是基

本文探讨了在Windows和Linux之间进行跨平台进程间通讯的方法,主要利用socket作为通信媒介。文章分析了各自平台的进程间通讯手段,如Windows下的Map file to memory、Share memory、Message、Socket,以及Linux的管道、信号、消息队列、共享内存和信号量。提出了一个框架,其中平台内通信可采用各自平台的高效方式,跨平台则通过socket实现。同时,定义了数据格式和加密算法,并提供了用户接口供程序调用。
最低0.47元/天 解锁文章
1068





