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

最终的结果如下:

相关推荐
꯭自꯭闭꯭11 分钟前
达梦SQL优化相关
linux·运维·数据库·sql
ZhangJun951 小时前
在 32GB 内存电脑上本地搭建 Qwen3.6-35B-A3B 大模型踩坑实录
运维·人工智能·阿里云·ai·软件构建
一条破秋裤1 小时前
Linux 共享内存通信:POSIX 共享内存与 mmap
linux·运维·服务器
贵州山魈羡民1 小时前
【玩转手机】通过 Podroid 上的 Alpine 部署 1Panel,把微型服务器装进口袋
运维·服务器
小白的码BUG之路2 小时前
Docker -- 构建nacos镜像
运维·docker·容器
谷哥的小弟3 小时前
CentOS Stream浴火重生
linux·运维·centos
程序员-Benothing3 小时前
Shell输入输出详解:read、echo、printf、颜色输出
linux·运维·服务器
和裕3 小时前
全纸结构重型纸箱能否满足 1 吨以上设备出口熏蒸豁免要求?通关合规性全解析
大数据·运维·网络·人工智能·算法
FPGA小徐4 小时前
从 NEMU 到 AbstractMachine:程序、运行时环境与 AM 完全解析
linux·运维·服务器
呉師傅5 小时前
得力P2500、M2500系列打印机硒鼓加粉及清零方法【纯享版】
运维·网络·windows·电脑