Я только начинаю изучать Java RMI и считаю, что понимаю процесс, клиент отправляет запросы метода и параметры, сервер выполняет вычисления и отправляет результат возврата обратно.Java RMI и удаленный доступ к файлам
Однако сервер выполняет все действия внутри метода локально?
В частности, если файл прочитан в методе, могу ли я правильно подумать, что это выполняется сервером?
Если это так, есть ли способ для метода конкретно доступа к ресурсам клиента (например, как System.out клиента?)
Благодарим вас :) Размышляя об этом, если бы у меня был RMI-метод, принимающий выходной поток, и клиент дал System.out в качестве аргумента сервер мог выполнять операции записи, println() и т. Д. В потоке вывода клиентов? – akd5446
@ akd5446 Нет, вы не можете передавать какой-либо выходной поток, потому что большинство выходных потоков не сериализуемы (ищите раздел «Все реализованные интерфейсы» их javadocs). Еще одна проблема с этим подходом заключается в том, что передача параметров является только одним способом, даже если вы можете передать поток, клиент не увидит изменения. Я предлагаю, чтобы ваш метод возвращал 'byte []' или просто 'String', который вы записываете на сервер. – biziclop
Ах, конечно, они не очень благодарны – akd5446