GG修改器破解版下载地址:https://ghb2023zs.bj.bcebos.com/gg/xgq/ggxgq?GGXGQ
大家好,今天小编为大家分享关于gg游戏修改器怎么启动_怎么启动GG修改器的内容,赶快来一起来看看吧。
让我们构建一个 Rust Todo 应用程序
在这个故事中,我们将使用使用 gRPC 的 Rust 创建一个基本的 Todo 应用程序。首先,我想简要介绍一下 gRPC 和 Protocol Buffers。
什么是 gRPC?
gRPC 是一个现代开源的高性能远程过程调用 (RPC) 框架,可以在任何环境中运行。
RPC 代表 Remote Procedure Call,开头的 g 代表 General Purpose,或者对于某些人来说它代表 Google。但实际上,您可以在这里看到:g_stands_for,gRPC 团队在每个版本中都会更改 g 的含义 🙂
我假设您熟悉常见的 REST API。它们通过 JSON 对象进行通信,在 gRPC 而不是 JSON 中,我们使用协议缓冲区来序列化数据。
Protocol Buffers
Protocol Buffers 是 Google 用于序列化结构化数据的语言中立、平台中立、可扩展机制。
在 gRPC 中,传输的数据(序列化)是二进制形式的。因此这意味着它比 JSON 或 XML 更快,因为它占用的空间更少,而且空间越小,带宽就越小。
将 gRPC 与 Rust 一起使用
首先,创建一个新的货物包。
cargo new rust-grpc
现在,在创建 cargo 包之后,我们必须为 gRPC 添加一些依赖项,并在 Cargo.toml 中为我们的服务器和客户端二进制文件创建二进制定义。
[[bin]]
name = "grpc-server"
path = "src/server.rs"
[[bin]]
name = "grpc-client"
path = "src/client.rs"
[dependencies]
tonic = "0.7"
prost = "0.10"
tokio = { version = "1.19", features = ["rt-multi-thread", "macros"] }
[build-dependencies]
tonic-build = "0.7"
创建您的原型文件。
proto/todo.proto
syntax = "proto3";
import "google/protobuf/empty.proto";
package todo;
message TodoItem {
string name = 1;
string description = 2;
int32 priority = 3;
pleted = 4;
}
message GetTodosResponse {
repeated TodoItem todos = 1;
}
message CreateTodoRequest {
string name = 1;
string description = 2;
int32 priority = 3;
}
message CreateTodoResponse {
TodoItem todo = 1;
bool status = 2;
}
service Todo {
rpc GetTodos(google.protobuf.Empty) returns (GetTodosResponse);
rpc CreateTodo(CreateTodoRequest) returns (CreateTodoResponse);
}
这是 Proto 文件的语法。 先说一下proto文件的语法:
将 Proto 文件编译为 Rust 代码。
build.rs
fn main() -> Result<(), Box<dyn std::error::Error>> {
tonic_build::configure()
.compile(&["proto/todo.proto"], &["proto"])
.unwrap();
Ok(())
}
服务器代码
src/server.rs
use std::sync::Mutex;
use tonic::{transport::Server, Request, Response, Status};
use todo::todo_server::{TodoServer, Todo};
use todo::{TodoItem, GetTodosResponse, CreateTodoRequest, CreateTodoResponse};
pub mod todo {
tonic::include_proto!("todo");
}
#[derive(Debug, Default)]
pub struct TodoService {
todos: Mutex<Vec<TodoItem>>
}
#[tonic::async_trait]
impl Todo for TodoService {
async fn get_todos(&self, _: Request<()>) -> Result<Response<GetTodosResponse>, Status> {
let message = GetTodosResponse {
todos: self.todos.lock().unwrap().to_vec()
};
Ok(Response::new(message))
}
async fn create_todo(&self, request: Request<CreateTodoRequest>) -> Result<Response<CreateTodoResponse>, Status> {
let payload = request.into_inner();
let todo_item = TodoItem {
name: payload.name,
description: payload.description,
priority: payload.priority,
completed: false
};
self.todos.lock().unwrap().push(todo_item.clone());
let message = CreateTodoResponse {
todo: Some(todo_item),
status: true
};
Ok(Response::new(message))
}
}
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let addr = "0.0.0.0:50051".parse().unwrap();
let todo_service = TodoService::default();
Server::builder()
.add_service(TodoServer::new(todo_service))
.serve(addr)
.await?;
Ok(())
}
让我们快速看看这里发生了什么。
客户代码
src/client.rs
use todo::todo_client::TodoClient;
use todo::{CreateTodoRequest};
pub mod todo {
tonic::include_proto!("todo");
}
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut client = TodoClient::connect("http://0.0.0.0:50051").await?;
let request = tonic::Request::new(());
let response = client.get_todos(request).await?;
println!("{:?}", response.into_inner().todos);
let create_request = tonic::Request::new(CreateTodoRequest {
name: "test name".to_string(),
description: "test description".to_string(),
priority: 1,
});
let create_response = client.create_todo(create_request).await?;
println!("{:?}", create_response.into_inner().todo);
Ok(())
}
同样,让我们快速看看这里发生了什么。
现在完成所有这些,构建,运行服务器二进制文件,等待它启动,然后运行客户端二进制文件。
cargo build
cargo run –bin grpc-server
cargo run –bin grpc-client
我希望它也对你有用。
如果没有,您可能必须根据您的操作系统安装 protobuf 包来编译您的 proto 文件。 我选择在 Docker Container 中运行我的应用程序
关注七爪网,获取更多APP/小程序/网站源码资源!
以上就是关于gg游戏修改器怎么启动_怎么启动GG修改器的全部内容,希望对大家有帮助。
root如何打开gg修改器,使用root来打开GG修改器:多重效用的完美融合 大小:12.23MB5,534人安装 在安卓设备中使用第三方应用和软件是一件很平常的事情。而其中一款备受欢迎的应用就……
下载gg修改器最新版本免用框架,GG修改器最新版本免用框架是宝藏! 大小:7.45MB5,915人安装 GG修改器是许多游戏玩家都知道的工具,它可以帮助玩家修改游戏中的参数,从而实现自……
下载gg修改器ios中文版下载_gg修改器苹果版ios版 大小:4.17MB6,829人安装 大家好,今天小编为大家分享关于gg修改器ios中文版下载_gg修改器苹果版ios版的内容……
下载gg游戏修改器下载地址,GG游戏修改器下载地址:改变游戏的玩法 大小:3.02MB5,689人安装 你是否曾经感到游戏的进度太慢、难度太大或者玩法不够刺激?那么,GG游戏修改器就是……
下载gg修改器免root蓝秦云_gg修改器免root方法 大小:18.44MB6,790人安装 大家好,今天小编为大家分享关于gg修改器免root蓝秦云_gg修改器免root方法的内容,……
下载gg修改器下载中文怎么用?,怎么下载gg修改器教程 大小:3.15MB6,789人安装 解锁软件免root 1、搜索精确数值,修改游戏数据,比如可以将游戏金币改大等; 2、模……
下载gg修改器免root版最新,gg修改器免root版:让游戏体验更加优秀 大小:9.41MB5,822人安装 对于喜欢手机游戏的玩家来说,如何让游戏体验更加优秀是一个重要问题。而gg修改器免……
下载gg修改器三星root权限_gg修改器免root权限 大小:12.02MB6,757人安装 大家好,今天小编为大家分享关于gg修改器三星root权限_gg修改器免root权限的内容,……
下载gg游戏修改器雷霆战机,GG游戏修改器让雷霆战机更加精彩 大小:10.76MB5,331人安装 雷霆战机,一款超炫的飞行游戏,给广大游戏爱好者们带来了非常高的观赏性和可玩性。……
下载gg游戏修改器逃跑吧少年,让游戏玩家更充实 gg游戏修改器逃跑吧少年 大小:16.75MB5,829人安装 在现今充满竞争的游戏世界中,一款游戏的质量往往与其玩法和体验密切相关。而对于一……
下载