Java 在没有类的情况下通过ObjectInputStream()接收
我试图创建一个服务器,该服务器接收一个对象,该对象实现了客户端通过ObjectInputStream()发送的接口X 更好地解释: 我想让服务器通过接口接收对象,而不需要在服务器端实际拥有类 由于ObjectInputStream()反序列化对象,因此该类必须存在于服务器端,如果不存在,则发生ClassNotFoundException() 有没有其他方法可以让对象通过套接字,而不必让对象的类位于另一侧?我正在搜索执行同一ObjectInputStream的不同方法,但服务器端没有该类。如果没有办法,我必须一直在服务器上上传这个类,这样ObjectInputStream就可以反序列化并且不会抛出ClassNotFoundExceptionJava 在没有类的情况下通过ObjectInputStream()接收,java,sockets,deserialization,objectinputstream,objectoutputstream,Java,Sockets,Deserialization,Objectinputstream,Objectoutputstream,我试图创建一个服务器,该服务器接收一个对象,该对象实现了客户端通过ObjectInputStream()发送的接口X 更好地解释: 我想让服务器通过接口接收对象,而不需要在服务器端实际拥有类 由于ObjectInputStream()反序列化对象,因此该类必须存在于服务器端,如果不存在,则发生ClassNotFoundException() 有没有其他方法可以让对象通过套接字,而不必让对象的类位于另一侧?我正在搜索执行同一ObjectInputStream的不同方法,但服务器端没有该类。如果没有
谢谢。如果不想实例化该对象,可以将其保存在byte[]缓冲区中。要实例化它,您需要像RMI一样:由发送方提供一个远程类加载器
但通常情况下,使用不同序列化机制的解决方案更适合这种情况。想想Protobuf、JSON或类似的东西 作为此反序列化的结果,您希望获得哪个类的实例?该类应位于服务器端。这是一个自定义类,我希望在服务器端进行反序列化。我知道我必须让这个类在服务器端。我正在寻找一种不用上课就能做到这一点的方法。与ObjectInputStream类似,但没有类。对不起,如果你问不清楚的话。我会编辑的。谢谢埃克斯,我会研究这个协议,看看它如何帮助我做到这一点。正如我所读到的,我认为这是我想做的更好的方法。