是否可以要求服务器端在不使用RMI的情况下执行方法?

时间:2016-03-07 05:01:49

标签: java sockets rmi

我无法尝试这个,因为我没有java web服务器。我的想法是通过套接字向服务器发送一个号码。发送的号码将取决于用户的响应或要求。

例如: 考虑一个tic-tac-toe游戏。让我们假设用户输掉了比赛,我希望用户输入yes进行重播,或no退出。

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

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

如果是,为什么RMI设计时可以通过编码(非常容易)完成?

1 个答案:

答案 0 :(得分:1)

  

是否可以与服务器通信

  

并调用远程方法

没有。服务器在本地调用该方法。您只需向其发送一个号码,告诉它该怎么做。这里没有远程方法调用。

  

为什么RMI设计时可以通过编码(非常容易)完成?

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

  • 连接
  • 方法编号
  • 请求和响应的电线规范
  • 编组参数
  • 解组回复
  • 将一些回复转化为例外
  • 确保所有响应都遵循异常语义
  • 动态类加载
  • ...

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