当前位置: 首页 > news >正文

怎么在百度建设一个网站工业设计大学排名前50

怎么在百度建设一个网站,工业设计大学排名前50,wordpress收费模版,个人简历ppt文章目录 **1. 创建解决方案与项目****2. 编写proto文件****3. 生成gRPC代码****4. 配置项目属性****服务端项目(gRPCServer)****客户端项目(gRPCClient)** **5. 实现服务端代码****6. 实现客户端代码****7. 编译与运行****注意事…

根据比例生成图片 (3).png

文章目录

      • **1. 创建解决方案与项目**
      • **2. 编写proto文件**
      • **3. 生成gRPC代码**
      • **4. 配置项目属性**
        • **服务端项目(gRPCServer)**
        • **客户端项目(gRPCClient)**
      • **5. 实现服务端代码**
      • **6. 实现客户端代码**
      • **7. 编译与运行**
      • **注意事项**

我已经通过vcpkg安装好本地grpc环境


1. 创建解决方案与项目

  1. 打开VS2022 → 创建新项目 → 选择 “空项目” ,分别创建服务端(如gRPCServer)和客户端(如gRPCClient)项目
  2. 右键解决方案 → 添加 → 新建项 → “头文件(.h)” 和 “源文件(.cpp)” ,分别用于服务端和客户端代码

2. 编写proto文件

  1. 在解决方案目录下创建protos文件夹,新建greet.proto文件(示例内容如下):
syntax = "proto3";
service Greeter {rpc SayHello (HelloRequest) returns (HelloReply) {}
}
message HelloRequest { string name = 1; }
message HelloReply { string message = 1; }

3. 生成gRPC代码

  1. 打开开发者命令行工具,执行以下命令(注意路径替换):
# 生成消息序列化代码
protoc -I=protos/ --cpp_out=protos/ protos/greet.proto# 生成gRPC服务代码(注意grpc_cpp_plugin路径)
protoc -I=protos/ --grpc_out=protos/ --plugin=protoc-gen-grpc="C:\vcpkg\vcpkg\installed\x64-windows\tools\grpc\grpc_cpp_plugin.exe" protos/greet.proto

生成greet.pb.hgreet.pb.cc greet.grpc.pb.hgreet.grpc.pb.cc 四个文件


4. 配置项目属性

服务端项目(gRPCServer)
  1. C/C++ → 常规 → 附加包含目录 添加:
   C:\vcpkg\vcpkg\installed\x64-windows\include$(ProjectDir)\protos
  1. 链接器 → 常规 → 附加库目录 添加:
   C:\vcpkg\vcpkg\installed\x64-windows\lib
  1. 链接器 → 输入 → 附加依赖项 添加:
   grpc++.lib;grpc++_reflection.lib;grpc.lib;gpr.lib;protobuf.lib;libprotoc.lib
  1. C/C++ → 语言 → C++ 语言标准 设置为 “ISO C++17 标准”
客户端项目(gRPCClient)

配置步骤同上,与服务端完全一致


5. 实现服务端代码

gRPCServer项目中添加server.cpp

#include <grpcpp/grpcpp.h>
#include "protos/greet.grpc.pb.h"class GreeterServiceImpl final : public Greeter::Service {grpc::Status SayHello(grpc::ServerContext* context, const HelloRequest* request, HelloReply* reply) override {reply->set_message("Hello " + request->name());return grpc::Status::OK;}
};void RunServer() {std::string server_address("0.0.0.0:50051");GreeterServiceImpl service;grpc::ServerBuilder builder;builder.AddListeningPort(server_address, grpc::InsecureServerCredentials());builder.RegisterService(&service);std::unique_ptr<grpc::Server> server(builder.BuildAndStart());std::cout << "Server listening on " << server_address << std::endl;server->Wait();
}int main() {RunServer();return 0;
}

6. 实现客户端代码

gRPCClient项目中添加client.cpp

#include <grpcpp/grpcpp.h>
#include "protos/greet.grpc.pb.h"class GreeterClient {
public:GreeterClient(std::shared_ptr<grpc::Channel> channel) : stub_(Greeter::NewStub(channel)) {}std::string SayHello(const std::string& name) {HelloRequest request;request.set_name(name);HelloReply reply;grpc::ClientContext context;grpc::Status status = stub_->SayHello(&context, request, &reply);if (status.ok()) return reply.message();else return "RPC failed";}private:std::unique_ptr<Greeter::Stub> stub_;
};int main() {GreeterClient client(grpc::CreateChannel("localhost:50051", grpc::InsecureChannelCredentials()));std::cout << client.SayHello("World") << std::endl;return 0;
}

7. 编译与运行

  1. 生成解决方案:右键解决方案 → 生成解决方案
  2. 启动服务端:右键gRPCServer → 调试 → 启动新实例
  3. 启动客户端:右键gRPCClient → 调试 → 启动新实例
    • 正确输出应为:Hello World

注意事项

  1. 若出现 “无法打开 grpc++/impl/codegen/config.h” 错误,检查vcpkg是否安装完整(执行vcpkg install grpc:x64-windows
  2. 若链接失败,确认所有.lib文件是否存在于C:\vcpkg\vcpkg\installed\x64-windows\lib目录

image.png

加粗样式

http://www.dtcms.com/a/610051.html

相关文章:

  • 【C++:封装红黑树】C++红黑树封装实战:从零实现MyMap与MySet
  • 构建AI智能体:九十四、Hugging Face 与 Transformers 完全指南:解锁现代 NLP 的强大力量
  • 保定网站排名哪家公司好有没一些网站只做临床药学
  • 目前做网站流行的语言网站策划书市场分析2000字
  • 18.HTTP协议(一)
  • 【每天一个AI小知识】:什么是逻辑回归?
  • Moe框架分析
  • Windows下nacos开机自启动
  • C++ 11 中的move赋值运算符
  • Java:startsWith()
  • 【Linux】进程间通信(四)消息队列、信号量与内核管理ipc资源机制
  • php整站最新版本下载html5 网站开发工具
  • wordpress更换网站数据库中国网络公司排名前十
  • 病床脚轮制动系统公差优化:CETOL 6σ建模与装配顺序重构,根治对中漂移
  • 专注网站建设与制作做网站费用多少钱
  • 潍坊网站建设哪家专业门户网站php源码
  • 【架构】安全
  • 大数据生态Sql引擎
  • 使用 .NET 8 构建 RESTful Web API
  • Servlet进阶
  • 计算机视觉——图像数据增强从原理到落地的全解析
  • 【MATLAB例程】2雷达二维目标跟踪滤波系统-UKF(无迹卡尔曼滤波)实现,目标匀速运动模型(带扰动)。附代码下载链接
  • yolov5/8/9/10/11/12/13+deep-oc-sort算法的目标跟踪实现
  • 网站维护花费个人备案网站做app
  • 用Scrapyd爬取豆瓣图书Top250
  • 数据分析笔记06:假设检验
  • 【论文阅读17】-LLM-TSFD:一种基于大型语言模型的工业时间序列人机回路故障诊断方法
  • Elasticsearch 面试题精编(26题|含答案|分类整理)
  • 专业格泰网站建设宝塔 怎么做网站
  • app做好了网站怎么做1千万人网站维护成本