问题描述:
在linux开发中,如果进程A和进程B都需要对同一个参数文件进行读写,如果保证参数同步性。
解决方案:
- 进程间通讯,采用本地socket,进程A作为参数TCP服务器,进程B作为参数TCP客户端。
- 应用层通讯协议定义,比如:帧头+控制码(读取/设置)+数据长度+内容+CS+帧尾。
- 进程B读取参数通过socket通讯从进程A获取,设置参数通过socket通讯通知进程B修改。进程B的所有参数数据来源于进程A对参数的操作。
特点:
- 原子性
只有进程A能操作实际的参数文件,其他进程都是通过进程间通讯操作。 - 扩展性
协议定好后,可以有多个客户端进程。