如何用C++完成一个最简单的服务间通讯协议

查看:141
本文介绍了如何用C++完成一个最简单的服务间通讯协议的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

要完成两个服务间通讯,需要注意哪些东西?
如何用C++完成两个服务间的最简单通讯,一个服务向另一个服务发消息(一个字符),另一个服务收到后立即返回一个消息(将这个字符加1),通讯完成。
由于是非常简单的两个服务,都在本机完成,算是两个进程间通讯吧。

解决方案

一般不说线程间通讯这种概念吧。因为线程间需要同步的话,由于内存地址空间共享,一般用生产者-消费者队列就可以了吧,考虑到线程安全的话,采用 blocking queue 或者无锁队列等数据结构就好了,如果同时不会出现多条消息的话,也可以省掉队列直接用公共的数据结构,归根结底也是多线程编程问题。一般需要通讯的都是不同的进程才是吧。一般来说进程通讯最好选择 TCP,即便是运行于本机的两个进程如非特殊需要也最好选用 TCP,那这样的话其实就变成了网络通讯了,那就其实是网络编程的问题了。

这篇关于如何用C++完成一个最简单的服务间通讯协议的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆