Java中的客户机-服务器通信

Java中的客户机-服务器通信,java,web-services,http,Java,Web Services,Http,我正试图在我的一台旧机器上安装一个Web服务器。我已经安装了ubuntu server edition,并打算将其用于以下用途: 我想在服务器上运行一个java程序。我希望能够使用internet连接从另一台计算机/电话检索程序中的数据。我还希望能够提供程序数据,并得到一个响应,说明数据是否已正确接收 例如: 一个.jar程序在我的服务器上运行,并保存一个变量x 我希望能够通过internet从其他设备查询x的值。 我希望能够从另一台设备远程设置x的值,并得到一个响应,说它成功地改变了值。 我的

我正试图在我的一台旧机器上安装一个Web服务器。我已经安装了ubuntu server edition,并打算将其用于以下用途:

我想在服务器上运行一个java程序。我希望能够使用internet连接从另一台计算机/电话检索程序中的数据。我还希望能够提供程序数据,并得到一个响应,说明数据是否已正确接收

例如:

一个.jar程序在我的服务器上运行,并保存一个变量x 我希望能够通过internet从其他设备查询x的值。 我希望能够从另一台设备远程设置x的值,并得到一个响应,说它成功地改变了值。 我的选择是什么?我想尽量让事情简单化。也许值得一提的是,我将是唯一一个使用该系统的人。服务器将专门用于处理上述两个请求

是否只是创建一个监听传入请求并在服务器上运行的java程序

正如您所提到的,您可以从自定义ServerSocket包装开始,它将解码传入的请求并按其出价执行。目前,整个框架都是用来封装这个任务的通用代码的——参见我的第三点。 老式java解决方案:使用RMI。看见 新的学校java解决方案:使用2个命令设计一些简单的基于文本的协议: 阅读 塞特纽瓦尔 然后在一些新的流行Java框架上实现该协议,比如ApacheMina,它是专门为促进Java中网络应用的快速开发而创建的。
一、 就个人而言,我们从RMI开始执行此类任务。既然RMI被认为是Java的核心技术,那么学习它是明智的。

也许我应该让RMI看看。我需要在我的web服务器上安装Apache之类的东西吗?Thanks@AlanAlbus在这些解决方案中,您都不需要Apache。只有在希望使用HTTP协议进行通信时,才可能需要Apache。对于RMI和定制解决方案,除了JRE,您不需要任何东西。对于ApacheMina,您需要MINA库。他们也有不错的教程,虽然它的字体很糟糕。你不需要Apache来使用RMI,如果你想在这台服务器上托管一个网站,你必须安装一个Web服务器软件——可能是Apache。非常感谢Victor。也谢谢夸拉尔