这个上下文涉及到进程间通信,其中一个进程(“服务器”)需要向运行在同一台机器上的多个监听进程(“客户端”)发送固定大小的结构体。
我非常熟练地使用Socket编程进行这项工作。为了使服务器和客户端之间的通信更快,减少复制的数量,我想尝试使用共享内存(shm)或mmaps。
操作系统是RHEL 64位。
由于我是新手,请建议我应该使用哪个。 如果有人能为我指点一本书或在线资源来学习相同的内容,我将不胜感激。
谢谢回答。我想补充说,服务器(市场数据服务器)通常会接收组播数据,这将导致它每秒“发送”约200,000个结构体到“客户端”,其中每个结构体大约100字节。 shm_open/mmap实现仅针对大块数据还是对大量小结构体也有优势?