实用小软件 迷你网盘
初版已经开源距今一年了https://bbs.voldp.com/thread-21635-1-1.html,这次为了参赛重写整理了一下,去除了之前的PHP功能别看代码很多,实际上就完成了2个功能,GET静态资源,POST动态方法,剩下的全在跟协议打交道,代码结构相较于之前开源的清晰很多且有大量注释,完全可以继续开发
你可以在本开源代码里学到,C++第三方开源库的各种接口实现和调用,哈希表的使用,多线程与多线程间的交互,共享锁的使用方式,线程里的任务参数是去锁化的原子操作,浏览器通过http协议与后端的交互过程,微软CNG加密hash计算sha1,md5等等API接口
相关功能演示对应首页的第一个图标和第二图标,剩下的全是占位用,单纯为了好看
1、纯静态页面,由火山程序在服务端动态生成,仅使用GET接口实现浏览器请求与服务端响应的功能
2、极简网盘,GET+POST交互,浏览器按F12打开开发者工具,选择网络即可查看交互过程,已实现下载,上传,预览,外链功能,其中外链相关功能点击鼠标右键即可弹出菜单,绑定了potplayer播放器,需要安装才能测试,也可以直接复制链接在其他播放器里测试
以上功能必须绑定虚拟目录才可以正常工作 (须手动将根目录指向源码压缩包内的 \www 文件夹才能正常显示首页)
不知道火山官方未来要出的HTML5会搞成什么样子,这东西刚开始写的时候并不顺利,不光是因为第一次接触HTTP服务端,同时也被火山自身的代码风格一直带偏,越写到后面越发觉得不对,怎么都实现不了想要的效果直到去年火山官方总算出了个本地整数基本类型别名后指针开始好用起来,于是决定重构,这次尽可能的走C++风格,源码里是直接调用hpsocket没用官方封好的库,如果只是刚入门火山PC,那么代码估计看起来是很吃力的,适合已经开始熟悉火山PC同时对C++也有一定基础的人,加上hpsocket的文档都是中文的非常友好,很适合用来学习熟悉火山嵌入式的用法,跟着走一遍嵌入式用法就熟了。这个最终是想实现类似emby这样的媒体库,访问自己winnas上的视频和图片,一个海报墙+时间线整理并将看过的归档分类,我考虑了一下就自动刮削这部分可能会比较难写,然后是字幕问题,因为potplayer不支持在m3u8这样的播放列表里直接加字幕,一键打开播放列表(视频+字幕)这个估计是没办法全自动了,emby这类软件要是哪天支持关闭转码和直接显示文件夹就好了
另外官方论坛之前还尝试自己封了下D2D,但最终因为缺乏动力只能算是搞了个开头,完成度低就不单独发了感兴趣的可以看看https://bbs.voldp.com/thread-24902-1-25.html,折腾D2D的理由其实很简单,10年前易语言写过一个dock快捷启动,用的是GDI+,图标多了就会卡,想用D2D但易语言要汇编根本没能力搞,直到火山PC算是能直接写了想圆当年的梦,试了下HTML写起来反而更简单,但缺点也很明显,浏览器因为安全原因处处受限始终没有exe能实现的功能多,感觉过几年AI都能直接生成了
源码下载
编译好的
感谢发布原创作品,论坛因你更精彩!
支持开源~!感谢分享 学习学习!!! 支持一下 好东西,谢谢分享
支持开源~!感谢分享
页:
[1]