采用C/C++编程的人员,对于不同进程、不同计算机之间的RPC对象通讯代理需要比较多,在window系统下常用的是DCOM,Linxu系统采用QT编程的经常会用到DBUS。
DCOM通讯性能很高的,本地进程通讯可以达到10000次/秒,但DCOM一般只能用在window系统;采用DBUS通讯代理则通讯性能很不尽如人意,本人刚开始使用DBUS做通讯代理,却发现其本地计算机之间的进程通讯次数一般只能600次/秒,而我的软件一般要实现10000次/秒左右,所以实在太慢了,而且DBUS还没有对象回调机制。
经过半年多的努力,终于实现了自己的分裂式跨平台对象代理机制,实现了本地Linux系统进程间通讯8000次/秒,window系统3000次/秒,跨计算机也可以达到2500次左右,基本满足了系统t通讯要求,而且代理机制还实现了对象回调功能。
为了比较完整实现分裂式跨平台对象代理机制,还开发了接口定义语言转换生成程序,接口函数调用采用无泄漏内存的设计方法,不会像微软DCOM通讯接口那样非常容易发生内存泄漏的问题。
如果大家有什么建议和需求,可互相交流学习。