一 点睛
RPC 是指一个节点通过网络请求另一个节点提供的服务,这里所说的“提供的服务”可以具体化为“提供的方法”或“提供的属性”。
本篇实现一个最简单的 RPC 功能:调用的双方都是采用 Java 语言编写,并且调用的服务是远程提供的“属性”。
二 实战
1 将 message 以规定的语法结构编写到 Student.proto 文件中。
netty\protobuf\Student.proto
syntax = "proto2" ;
package netty.protobuf ;
option optimize_for = SPEED ;
option java_package = "netty.protobuf" ;
option java_outer_classname = "StudentMessage" ;
message Student
{
required string name = 1 ;
optional int32 age = 2 ;
}
2 根据 Student.proto 生成 Java 存储数据的数据结构,即 Java 类
E:\JVMDemo\demo2022>protoc --java_out=src/main/java src/main/java/netty/protobuf/Student.proto
该命令会根据 Student.proto 定义好的规则,在 src/main/java 目录下生成包 "netty.protobuf",并在该包中生成 StudentMessage.java
3 客户端主程序类
package netty.protobuf;
import io.netty.bootstrap.Bootstrap;
import io.netty.channel.Channel;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.nio.NioSocketChannel;
public class MyNettyClientTest {
public sta

最低0.47元/天 解锁文章
3473

被折叠的 条评论
为什么被折叠?



