java语言socket编程对象传递

我的需求是:在客户端传递一个对象到服务器,服务端根据发送过来的对象的一个属性的内容决定对这个对象进行对应的处理。现在碰到的问题是:1.我在服务器端用readObject方... 我的需求是:在客户端传递一个对象到服务器,服务端根据发送过来的对象的一个属性的内容决定对这个对象进行对应的处理。现在碰到的问题是:1.我在服务器端用readObject方法反序列化获得对象的类型时Object,服务器如何知道该对象是什么类型并向下转型去获得该对象的属性值(我知道反射可以获得对象的类名,但是无法根据得到的类名进行向下转型((user.getClass()) object).reg()这句出现了编译错误)。2.我传过来的对象是各式各样的,方法名可以在对象参数中带(解决第一个问题就可以获得方法名);但是在反射时我需要知道方法的参数类型和个数才能获得方法,这样的话我无法用一个服务器端方法就能解决所有客户端的要求。3.服务端只有一个socket监听,我如果在一个socket写一个类的对应方法的操作,我如何通过这个socket去调用服务器的其他的类和方法? 恳请解答,感激不尽! 展开
 我来答
泉水淌清澈
2017-03-15 · TA获得超过191个赞
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:103万
展开全部
在服务端使用动态代理模式,,应该能解决你的需求!基本的思路是:每个你需要在socket里调用实体类都实现动态代理中自定义的接口,在实现接口的方法里是每个实体类的具体实现,,,在socket中readObject到的对象直接向下转型为这个自定义接口,,然后调用接口的方法,不就实现在一个socket调用不同对象了吗?,
追问
我觉得好像能解决我的问题,我现在动态代理还不是很懂。不过谢谢你的回答,我先研究下动态代理,不行再提问。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式