RMI实现文件管理

一、前言

开发环境

1、操作系统: Windows 10 X64

2、IntelliJ IDEA Community Edition 2020.2.2 x64

二、创建项目

本次项目首先下载老师在课程网站的示例,因为对于java语言不太了解,对命令行参数的使用都不太了解,但是最后还是理解了老师的项目。于是模仿老师的写法创建了create接口,在本机先进行实验。

三、具体实现

1.服务端根据接口创建stub对象,即代理,再在注册表中注册

RMI实现文件管理_第1张图片

2.客户端通过和端口访问后,远程地查找和访问服务器上的对象,再循环进行操作。


RMI实现文件管理_第2张图片

3.接口 我只涉及了一个接口create,内有几个函数实现了create,modify,delete功能。本以为要设计三个接口(接口名为create的原因),可是在实际做的过程中发现一个接口已经足够。


RMI实现文件管理_第3张图片

三、问题与解决

问题1:access denied ("java.io.FilePermission" "D:\NewFolder" "read")

在本机上创建文件时就报错,查询资料后得知是没有权限


参考链接:https://www.codenong.com/10454037/

问题2:由于对java语言不够熟悉,查找了创建、修改、删除文件的写法

问题3:最大的问题来自于两台主机的连接

本以为是端口号的问题,学习了查看空闲端口号

参考链接:https://jingyan.baidu.com/article/d8072ac4855b38ec95cefdbf.html

然而还是无法连接。两台主机就是无法连接,经同学提醒,直接ping发现也ping不通,多次实验发现校园网环境下ping不通,开热点可以,但是连接还是出问题,经查是虚拟网关未关。在网络连接部分关掉虚拟网关后,成功连接。



创建文件的参考链接:https://blog.csdn.net/qq_29720657/article/details/78582763?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-3.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-3.control

修改文件:https://blog.csdn.net/yinghuacao_dong/article/details/79578081?utm_term=java%E4%BF%AE%E6%94%B9%E6%96%87%E4%BB%B6%E9%87%8C%E7%9A%84%E5%86%85%E5%AE%B9&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduweb~default-3-79578081&spm=3001.4430

删除文件的参考链接:https://blog.csdn.net/qq_39863737/article/details/98747432

你可能感兴趣的:(RMI实现文件管理)