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程序即可

最终的结果如下:

相关推荐
大树883 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质3 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
小宇宙Zz3 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工3 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智3 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_3 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
古城小栈3 天前
Unix 与 Linux 异同小叙
linux·服务器·unix
施努卡机器视觉3 天前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造
程序猿阿伟3 天前
《Chrome离线扩展安装的底层逻辑与场景落地指南》
服务器·网络·chrome