2

我打算使用 objectOutputStream 但听说这是不可靠的,因为不同的 java 版本可能会以不同的方式反序列化对象。关于“可怕的跨架构实践......”

那么我还能如何在这些设备之间发送对象和数组,接收端可以将正确的对象或数组数据拼凑在一起呢?

4

2 回答 2

0

编辑:只需阅读您在做什么。您可能不需要 Web 服务器。很多人推荐一个,因为 Web 服务器有大量的支持。您当然使用 TCP 或 UDP 在服务器和客户端之间进行通信。如果你想要数据交换,你需要有一些协议,这里的大多数人都会熟悉 XML 或 JSON

如果您需要灵感,请尝试查看一些协议,例如 FTP,甚至是 Bittorrent

网络服务器案例:

我为大学家庭作业编写了一个 Java Web 服务器。如果您对 TCP/IP 有很好的了解,那么 Web 服务器实际上非常简单。代码散布在网上,虽然有点难以理解到底发生了什么,但一旦你这样做了,这还不错

您绝对应该查看 HTTP 的 RFC,即使这些内容往往是用法律术语表述的。除此之外,在服务器上,您基本上是逐行读取字符串,并且您应该能够弄清楚在服务器上要做什么(例如 GET /somefile.html HTTP/1.0)。只需在这些行上执行 System.out.println 并从那里开始。客户端代码也是如此。您还可以使用 telnet 查看 Web 服务器的功能

为了测试,我实际上建议只尝试普通的网络浏览器,如 Firefox、Chrome、IE、Safari,甚至 curl 脚本。这是一个简单的测试,可以查看您的服务器是否正常运行

就数据交换而言,建议使用 XML 或 JSON,主要是如果您学会如何处理它,您的简历将获得 100 个经验点。但是,要开始使用,您可以从发送和接收诸如“Wazzzaaap”之类的文本开始。Web 浏览器还可以获取 XML 和 JSON 数据。

于 2012-12-13T18:09:14.910 回答
-1

通过'java server',你使用什么样的协议?

一种选择是 RPC,它在 java.rmi 中定义

如果你使用http,最简单的选择是在tomcat/jetty中实现一个小servlet并使用restful服务

数据格式可以是xml、json、bin等

于 2012-12-13T17:23:48.100 回答