📄 进度.txt
字号:
4、制作了根据文件块来查找具体文件名,和此块数据在文件中的索引。
-------------------------------------------------------------------
2005.3.8
重要的一天。
基本实现了代码,对JXTA网络通信时的消息格式进行测试,
取得初步成功。
在生成TaskInfo对象时,FileAbsolutePath参数的约定:
*@param FileAbsolutePath<br>
* 创建共享文件时,手动设置此参数<br>
* 单文件时:源文件具体文件名;多文件时:文件夹顶级目录<br>
*<br>
* 或者是join的文件,这时不用设置此参数,使用另一个构造函数<br>
* 在初始化时,自动设置。<br>
* 单文件时:保存文件的目的文件具体文件名。<br>
* 多文件时:保存文件的目的文件顶级文件夹名(包括 name )。<br>
-------------------------------------------------------------------
2005.3.9
基本实现了所有核心代码,等待GUI设计完毕,整体调试程序。
-------------------------------------------------------------------
2005.3.14
一下是NetBeans的进度
GUI以设计完毕,
开始与核心代码进行整合与调试。
今天调试的是publishUpload与joinDownload部分。
-------------------------------------------------------------------
2005.3.15
publishUpload 是基于事件的编程,在输入管道有新消息时,
监听器被激活,作一些需要做的事情,
现在的问题是:
publishUpload 只有第一次被激活,
以后,输入管道的监听器就不能再监听到管道上到来的消息了?????
想把监听器改成阻塞方式(waitForMessage方法)试试,
这是没改以前的备份。
---------------------------------
下午终于解决了事件编程遇到的问题,
解决方法写到了笔记本上。
可以实现 1 对 1 的单文件传输.
心情比较舒畅…… :-)
-------------------------------------------------------------------
2005.3.16
完成了joinDownload 任务的请求算法,
解决了原来只能一次发一个请求,
就开始等待缓存的数据,效率比较低。
现在,一次向请求队列中的所有peer 发送请求,
再等待缓存中的数据,
同时解决了一个问题,就是:
发送请求后,对方没有数据就不做响应,
而自己还为了等待这个数据而阻塞,
这个问题是通过添加一个"唤醒器"来实现的,
每次发送数据进行阻塞等待时,打开唤醒器,
15秒后,如果缓存中仍然没有数据的话,
就向缓存装入一个无效数据,
目的是唤醒因缓存无数据而阻塞的线程,
此线程被唤醒后,会发现这个数据是无效数据,
从而放弃它,重新向请求队列中的peer 发送请求。
--------------------------------------
完成了多文件的传输,
自动将名字改回原名。
--------------------------------------
实现了“打开文件夹”功能,
实现了“编辑”菜单中的所有功能。
实现了“文件”菜单中的所有功能。
查找“组”时,增添了“随意查找”功能。
“文件”菜单中的功能已经写完,等待明天调试。
-------------------------------------------------------------------
2005.3.17
实现了join任务的stop和start功能,
publish 的stop 和start 也基本实现,
但是,还有一些问题:
publish 任务 stop 后,对于join有两种情况:
1、join 已经开始发送请求的模块,但是没有连接上,将这个刚才可以连接的通告删除,
只能发送到下一个peer ,如果没有可发送的peer,就等待下一次发现peer监听器的出发。
2、join 成功发送了请求,在DownloadMeesageBuffer等待响应的到来,并开启“唤醒器”,
(1)如果在唤醒器叫醒down 任务时,“从头再来”、再次发送一个请求,直到有响应返回;
如果被唤醒后,发送请求时,与1的情况相同,就也开始等待下一次发现peer监听器的出发。
(2)如果在唤醒器叫醒down 任务时,已经有可使用的peer,并且就在Request队列中,工作正常。
问题出现在:1或2.1
当发现peer监听器再次发现了peer后,重新向Request队列中的peer请求时,出现“死循环”。
-------------------------------------------------------------------
2005.3.18
昨天的问题已经解决,
方法:引入了一个计算还未下载文件块的变量,当这个值等于以请求队列(list)里的个数时,
调处请求循环,重新从Request队列中发送请求。这样就不会在循环中,
当list元素个数大于等于未下载文件块数时,
每次请求的文件块都在请求队列(list)中出现,而死循环了。
-----------------------------------
至此,成功解决了publish和join的“停止”和“开始”功能,
但是,Request队列监听器的设置存在瓶颈,需要改进。
瓶颈已经解决。
加入了“删除任务和文件”图标,开始实现删除功能。
可以实现删除功能的一部分了,
只是TaskTable不能删除选中的行,正在实践。
完全实现删除功能。
至此,
实现了“文件”菜单中的所有功能。
实现了“编辑”菜单中的所有功能。
实现了“任务”菜单中的所有功能。
实现了“帮助”菜单中的所有功能。
只有“设置”菜单没有实现。???????????????
TaskInfo对象串行化还要解决。??????????????
-------------------------------------------------------------------
2005.3.20
1、所有功能基本实现,还差GUI的一些反馈信息给用户,只需要把后台的输出放到GUI上即可。
2、准备修改在下载的同时上传数据的一个小Bug,就是无法找到上传数据的文件,
需要修改的是:下载没有到100%时,需要从“文件名.rs?”中读取数据,
到100%后,再从“文件名”中读取数据。
--------------------------------
只差1了。???????????????????????
还有Configre????????????????????
--------------------------------
左边的JList组件只差“任务状态了”。
--------------------------------
还有Configre???????????????
download频繁重新查找网络,造成总也没有机会和可用资源连接。
--------------------------------
还有Configre???????????????
-------------------------------------------------------------------
2005.3.23
完成了Configure类的书写,
软件工作可以完美结合这个类来实现设置了。
还有任务状态的“两个字段”的显示。
-------------------------------------------------------------------
2005.4.1
修改的bug
1、去掉了任务table中的最后两列(用时、需时);
2、修改了文件列表中同时存在Unix和Windows风格的分隔符的问题;
3、解决了在发布一个文件时没有显示昵称的bug。
-------------------------------------------------------------------
2005.4.2
修改了初始化任务时过慢的bug
-------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -