我打算使用 objectOutputStream 但听说这是不可靠的,因为不同的 java 版本可能会以不同的方式反序列化对象。关于“可怕的跨架构实践......”
那么我还能如何在这些设备之间发送对象和数组,接收端可以将正确的对象或数组数据拼凑在一起呢?
我打算使用 objectOutputStream 但听说这是不可靠的,因为不同的 java 版本可能会以不同的方式反序列化对象。关于“可怕的跨架构实践......”
那么我还能如何在这些设备之间发送对象和数组,接收端可以将正确的对象或数组数据拼凑在一起呢?
编辑:只需阅读您在做什么。您可能不需要 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 数据。
通过'java server',你使用什么样的协议?
一种选择是 RPC,它在 java.rmi 中定义
如果你使用http,最简单的选择是在tomcat/jetty中实现一个小servlet并使用restful服务
数据格式可以是xml、json、bin等