发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 大数据 扩展性 并发编程 事件驱动 分布式 SOA

[求助]关于JAVA远程通信

2009-02-24 18:02
赞助商链接

刚了解了一些远程通信的原理,有一个疑问。
客户端把一个对象序列化成流传输至服务端反序列化成对象,该过程中,是否客户端与服务端都必须具有该对象的类,能否用Object代替?
还是我理解有偏。。呵呵,求助高手。

2009-02-24 18:53

可以不是同一个类,像java和dotNet肯定不是同一个类,但这俩对象结构相当,所以它俩之间可以webservice之类的都行,或json/rest等,只要反序列工具能解释就行,最关键的是有一致的组织,这我不得不说一下eclipse之webservice工具自动生成的那批客户端东西实在是难读。

2009-02-24 23:08

在传递的过程中,无论被传递着看起来像什么其核心永远是数据内容。

所以所谓的序列化和反序列化说白了只是编码和解释一些数据的过程,无论服务、客户端分别使用何种实现只要他们对同样的数据结构可以进行相同的解释那么就可以这样进行通讯了。

2009-02-25 11:03

对于Java和C#,序列化和反序列化是各自语言级别所支持的特性,其实现机制自然不同。在没有中间转换的情况下,其相互之间不能通过序列化对象来通信。
楼主说到的这种情况,在均为用Java开发的服务端和客户端之间使用序列化对象通信,应该是可行的。但一个前提是:接受一方同样需要能访问到对象所对应的类型信息——可以是本地可直接访问的类,也可以是使用时从网络加载(通过自定义类加载器)而来的类信息。
当然,你可以读取时转型为Object,但使用时你还是需要向下转型,如果此时JVM不能找到对应类型信息,应该会报ClassNotFoundException

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com