Snailclimb / guide-rpc-framework

A custom RPC framework implemented by Netty+Kyro+Zookeeper.(一款基于 Netty+Kyro+Zookeeper 实现的自定义 RPC 框架-附详细实现过程和相关教程。)
https://gitee.com/SnailClimb/guide-rpc-framework
Other
3.97k stars 2.06k forks source link

RPC服务调用方法参数传递为Java类对象 #54

Open mingyang66 opened 3 years ago

mingyang66 commented 3 years ago

你好,有个疑问RPC调用服务端方法参数传递的是一个java对象,那这个java对象参数是不是必须要在客户端和服务端必须存在并且包路径都必须相同

zjcdreamer commented 2 years ago

你好,有个疑问RPC调用服务端方法参数传递的是一个java对象,那这个java对象参数是不是必须要在客户端和服务端必须存在并且包路径都必须相同

说一下我个人的观点,咱们讨论一下。 首先这个Java对象应该是在客户端、服务端都存在的,因为在实际的生产环境中客户端通过代理,以调用本地方法的方式调用远程方法,那这个Java对象参数对于客户端来说是可见的。服务端是实现了这个方法,所以肯定也有这个对象。 但是两者使用的Java对象所对应的包路径未必是相同的,服务端调用方法是通过反射,根据方法名称和参数列表获得方法,所以要判断的是类型。 个人看法

zhaojiale1213 commented 2 years ago

一般都会把这写接口及其类对象以依赖的方式,引入到服务端和客户端

xiaoguyueyue commented 8 months ago

你好,有个疑问RPC调用服务端方法参数传递的是一个java对象,那这个java对象参数是不是必须要在客户端和服务端必须存在并且包路径都必须相同

存在是都要存在的,但是路径不用一样,内容一样,保证可以反序列化就好了吧