2016-03-07 92 views
0

因为我没有java web服务器,所以无法尝试。我的想法是通过套接字向服务器发送一个号码。发送的号码将取决于用户的回应或要求。例如: 考虑一个井字游戏。让我们假设用户输掉了比赛,并且我希望用户输入yes重播或no退出。是否有可能要求服务器端执行不使用RMI的方法?

如果用户输入yes,程序将向套接字的outputstream写入一个数字(例如1)。现在,服务器使用inputstream接收该号码并将其存储在一个整型变量中。如果发现输入的号码是1,则游戏再次开始。将会有处理这些数字的方法。

是否可以与服务器通信并以此方式调用远程方法?

如果是,为什么RMI可以通过编码完成(很容易)?

+0

你是什么意思,你“没有”一个Web服务器? Spring Boot和类似的工具使启动一个微不足道。 – chrylis

+0

@chrylis我无法配置Tomcat。 –

+0

Spring Boot为你做到这一切! – chrylis

回答

1

是否有可能与服务器

是沟通。

和调用远程方法

号服务器本地调用方法。你只是给它发送一个数字,告诉它该怎么做。这里没有远程方法调用。

为什么RMI可以通过编码完成(很容易)?

RMI提供了一种语法直接调用一个远程方法,而不必担心:

  • 连接
  • 方法号码
  • 丝规格为请求和响应
  • 编组参数
  • 反编组回复
  • 转一些响应转换成例外
  • 确保所有响应服从异常语义
  • 动态类加载
  • ...

你当然可以重新实现所有的自己,当然,RMI是用Java实现但也不要低估其范围或难度。

+0

我的想法是通过套接字发送一个号码给servef。服务器接收到这个数据,一个方法会测试这个数字并根据这个数字调用一个方法。这不工作吗? –

+0

当然,它会工作。没有人说过。这就是RMI在其他方面所做的事情。 – EJP

+0

好的。最后一个疑问。在服务器中,通常一个循环会持续运行,等待用户的连接请求。因为,这个循环是永远运行的,它不会导致服务器上的任何stackoverflow异常(因为它是一个无限循环)? –

相关问题