基于上次的 C 语言 http server,仿造做了一个文件上传下载功能。

2022-06-19 08:47:48 +08:00
 microxiaoxiao

继续撸代码,把废旧的手机玩一玩,interesting 。 效果如下:

现在它已经具备了 cgi 功能,文件上传下载。基本的 video, 图片显示,后面再看看能怎么玩,一个手机具备 网络,存储,计算三个资源,后面再慢慢思考

https://github.com/guocf20/android_httpd

3229 次点击
所在节点    程序员
17 条回复
leonme
2022-06-19 08:51:14 +08:00
如果用 python 的话,就一行代码🐶
microxiaoxiao
2022-06-19 08:53:14 +08:00
@leonme 嗯嗯,我把他跑在废旧手机上,不喜欢各种依赖,嘿嘿
ch2
2022-06-19 08:54:21 +08:00
@microxiaoxiao #2 不如 go
microxiaoxiao
2022-06-19 09:02:03 +08:00
@ch2 封装太多,不太喜欢。
cpstar
2022-06-19 09:10:24 +08:00
@leonme 1# 那你试试不用 import 直接纯写,一行能否写下来。🤣
leonme
2022-06-19 09:57:39 +08:00
@cpstar #5 所以啊,没解决实际问题,瞎折腾。。。
ToBeHacker
2022-06-19 10:19:41 +08:00
很棒,优化一下可以当 Web 服务器了
zhilincom
2022-06-19 10:44:34 +08:00
@leonme #6 巩固基础知识啊,不然只会调包,底层实现一点都不了解。
leaves615
2022-06-19 10:57:16 +08:00
没有最好的,只有最合适的。
yangyang
2022-06-19 11:04:11 +08:00
很棒。一直想做个类似的但是太懒没有自己写
PTLin
2022-06-19 11:08:12 +08:00
不错,下一步可以实现你注释的 epoll 和用 libmagic 判断文件类型等功能
documentzhangx66
2022-06-19 13:14:10 +08:00
@leonme 没啥流量时 Python 是王,流量一上来时 Python 就屎了。
Cooky
2022-06-19 13:43:33 +08:00
@yangyang 需要现成的可以用 miniserve
Buges
2022-06-19 14:32:39 +08:00
学习目的可以,但实际使用还是不建议。
个人手写的东西很难面面俱到,断点续传、并发、数据竞争、内存泄漏和内存溢出,哪里出了问题文件导致内容错误你都没法排查,尤其是你还用 C 这种完全不安全的语言写,要是用了 epoll 那就更易错了。
cpstar
2022-06-19 15:44:18 +08:00
自己曾经纯用 java socket 和 swt 手写过一个 pop3 客户端。目的不是为了重复造轮子、闭门造车,而是知其然知其所以然,并且知道其中需要经历过那些坑。
正如都知道计算器可以计算 1+1 ,那为什么还要学 1+1 。。。
vagranth
2022-06-19 21:41:55 +08:00
我前几天用 rust 写了一个……
codehz
2022-06-19 22:49:18 +08:00
(不如实现 webdav 协议,直接能在 explorer 上挂载成磁盘

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/860605

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX