Grpc Java 代码生成
在游戏服务器中,我们通常会通过管理后台修改游戏数据,比如发奖励,给某个用户加物品等,免不了要和游戏服务器打交道,因为你的数据在游戏服务器是有缓存的,如果直接修改数据库的话,是不会在游戏中立刻生效的。
所以为了方便gm管理和游戏服务器的交互,采用这种rpc的模式。方便快捷。
一,首先创建一个新的工程
IDE:eclipse4.6.1
Grpc:1.9.0
二,工程创建完成之后,添加资源文件夹proto,用于存放编写的proto文件
![](https://img.haomeiwen.com/i3793531/08b1c5ab9d5d7242.png)
三,配置pom.xml文件
![](http://upload-images.jianshu.io/upload_images/3793531-a7b3f9c758bbf88a.png)
![](http://upload-images.jianshu.io/upload_images/3793531-383b3000c4d5511c.png)
![](http://upload-images.jianshu.io/upload_images/3793531-f3b677619a4e229c.png)
不知道为什么,简书不让粘xml,所以只能截图了。
创建一个proto文件,把它放在src/main/proto里面
syntax = "proto3";
option java_multiple_files = true;
option java_package = "com.xinyue.grpc.gamemanager";
option java_outer_classname = "GameManagerRpc";
service GameManger {
rpc AddRoomCard (AddRoomCardRequest) returns (AddRoomCardResult) {}
}
message AddRoomCardRequest {
int64 userId = 1;
int32 roomCard =2;
}
message AddRoomCardResult {
bool result = 1;
}
配置完上述的pom.xml之后,在eclipse中执行mvn install,就会在target文件中生成rpc的代码了,把代码复制到src/main/java中就可以了。
![](http://upload-images.jianshu.io/upload_images/3793531-ee770168288e2071.png)
如果生成的过程中报这个错误,不需要管它,这是因为在你的项目的src/main/java中已经存在这些生成的类了。
![](http://upload-images.jianshu.io/upload_images/3793531-87652ced87c16b08.png)