ProtoBuf编写网络版本通讯录时遇到问题及解决方案

问题

使用PB编写网络版本通讯录时,遇到这样的问题:

客户端发送序列化后的Request请求给服务端,想要服务端提供相应的响应,但服务端并没有提供相关的响应,并且客户端会处于阻塞状态。如以下情况所示:

解决方案

遇到这样的问题,首先检查是否有相关的头文件没有被包含

比如:使用了std::random_device、std::mt19937、std::uniform_int_distribution来产生随机数,但未包含<random>头文件;使用了std::stringstream,但未包含<sstream>头文件, 这也是导致服务端无法处理请求的一方面原因。所以如果没有包含包含对应的头文件即可。

其次检查using namespace httplib声明是否在using namespace std 的前面(主要原因),如果不是,在全局作用域可能会导致命名冲突,进而导致服务端无法处理请求,所以要进行调整。要确保客户端和服务端程序中 using namespace httplib声明在using namespace std 的前面。

如果服务端任然出现阻塞的情况,将XShell重启,重新make程序即可

最终的结果如下:

相关推荐
夏殇之殁24 分钟前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript
龙仔72524 分钟前
人大金仓 KingbaseES V8 只读账号创建完整运维笔记
运维·笔记·sql·人大金仓
我不管我就要叫小猪39 分钟前
嵌入式Linux----网络通信
linux·运维·服务器
江湖有缘1 小时前
Docker实战 :使用Docker部署OneTerm堡垒机
运维·docker·容器
泡沫冰@1 小时前
ECS 的介绍和使用
linux·服务器·网络
姜太小白2 小时前
【Linux】df -h 卡住问题的通用排查与解决方案总结
linux·运维·php
土星云SaturnCloud2 小时前
抽水蓄能设备智慧运营:基于土星云边缘计算实现机组全生命周期预测性维护
服务器·人工智能·ai·边缘计算
fengyehongWorld2 小时前
Linux 终端快捷键
linux·运维
看昭奚恤哭2 小时前
平滑加权轮询负载均衡的底层逻辑
运维·负载均衡
hyf3266333 小时前
泛程序:从零开始搭建稳定程序项目框架
运维·服务器·爬虫·百度·seo