Java 如何将对象从一台计算机发送到另一台计算机?

Java 如何将对象从一台计算机发送到另一台计算机?,java,object,sockets,Java,Object,Sockets,我知道Java可以使用套接字编程来发送对象。除了套接字编程,还有其他方法吗?例如通过web服务。但是它又是在套接字之上构建的。Java的远程方法调用()可能是最简单、支持最广泛的方法 Java描述了在套接字上编组对象。 (简单对象访问协议)。控制输入 很好,你可以做的每一件事都是在套接字上构建一个层。序列化对象,写入文件,复制文件(如果计算机与网络连接,如果不使用可移动磁盘),然后反序列化它 将橡皮筋连接到计算机A上 把物体放在橡皮筋里 向后拉,对准计算机B 放手 对象可以通过共享数据库进行传输

我知道Java可以使用套接字编程来发送对象。除了套接字编程,还有其他方法吗?

例如通过web服务。但是它又是在套接字之上构建的。

Java的远程方法调用()可能是最简单、支持最广泛的方法

Java描述了在套接字上编组对象。

(简单对象访问协议)。

控制输入


很好,你可以做的每一件事都是在套接字上构建一个层。

序列化对象,写入文件,复制文件(如果计算机与网络连接,如果不使用可移动磁盘),然后反序列化它

  • 将橡皮筋连接到计算机A上
  • 把物体放在橡皮筋里
  • 向后拉,对准计算机B
  • 放手

  • 对象可以通过共享数据库进行传输

    我在一个已经做了10年的生产系统附近工作


    具有讽刺意味的是,除了极少数情况外,DB连接也是通过套接字实现的。

    不。套接字是计算机通信的方式。除了将数据写入某些媒体并在计算机之间进行物理传输之外,您还必须使用套接字

    在最低级别,数据以字节形式通过套接字传输。因此,首先需要将对象序列化为字节,然后发送它,然后在另一端需要从字节反序列化对象


    不那么直截了当地回答您的问题,有一些Java库可以自动处理序列化,并隐藏直接处理套接字的肮脏之处。我推荐。KryoNet可以做到这一点,而且比Java的内置RMI支持更简单、更高效。

    虽然在某些国家比Socket快,但我猜它不是很实用:)什么,它与语言无关!RFC是从1990年开始的!由IETF自己主持!是的,web服务是基于套接字构建的,但您不必直接使用它们。使用RMI(远程方法调用)可能是一种过度使用,当然也会再次涉及套接字。为什么这种过度使用?这在我看来是完全合理的。我接受你关于插座的观点,但是(正如每个人都指出的)在没有插座的情况下这样做似乎有点,嗯,奇怪。除了高速机械手、信鸽、橡皮筋或sneakernet之外,任何从一台计算机向另一台计算机发送数据的实用方法都会以某种方式涉及插座。这只是你从实际套接字中抽象得有多好的问题。@Brian Agnew,因为RMI有一个粗略的API:)它只是“java”,而不是“java”,我不知道,我认为它就像“谷歌”。