V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
microxiaoxiao
V2EX  ›  程序员

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

  •  
  •   microxiaoxiao · 2022-06-19 08:47:48 +08:00 · 3229 次点击
    这是一个创建于 922 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    https://github.com/guocf20/android_httpd

    17 条回复    2022-06-19 22:49:18 +08:00
    leonme
        1
    leonme  
       2022-06-19 08:51:14 +08:00 via iPhone
    如果用 python 的话,就一行代码🐶
    microxiaoxiao
        2
    microxiaoxiao  
    OP
       2022-06-19 08:53:14 +08:00 via Android
    @leonme 嗯嗯,我把他跑在废旧手机上,不喜欢各种依赖,嘿嘿
    ch2
        3
    ch2  
       2022-06-19 08:54:21 +08:00
    @microxiaoxiao #2 不如 go
    microxiaoxiao
        4
    microxiaoxiao  
    OP
       2022-06-19 09:02:03 +08:00 via Android
    @ch2 封装太多,不太喜欢。
    cpstar
        5
    cpstar  
       2022-06-19 09:10:24 +08:00
    @leonme 1# 那你试试不用 import 直接纯写,一行能否写下来。🤣
    leonme
        6
    leonme  
       2022-06-19 09:57:39 +08:00   ❤️ 1
    @cpstar #5 所以啊,没解决实际问题,瞎折腾。。。
    ToBeHacker
        7
    ToBeHacker  
       2022-06-19 10:19:41 +08:00
    很棒,优化一下可以当 Web 服务器了
    zhilincom
        8
    zhilincom  
       2022-06-19 10:44:34 +08:00
    @leonme #6 巩固基础知识啊,不然只会调包,底层实现一点都不了解。
    leaves615
        9
    leaves615  
       2022-06-19 10:57:16 +08:00
    没有最好的,只有最合适的。
    yangyang
        10
    yangyang  
       2022-06-19 11:04:11 +08:00
    很棒。一直想做个类似的但是太懒没有自己写
    PTLin
        11
    PTLin  
       2022-06-19 11:08:12 +08:00
    不错,下一步可以实现你注释的 epoll 和用 libmagic 判断文件类型等功能
    documentzhangx66
        12
    documentzhangx66  
       2022-06-19 13:14:10 +08:00   ❤️ 1
    @leonme 没啥流量时 Python 是王,流量一上来时 Python 就屎了。
    Cooky
        13
    Cooky  
       2022-06-19 13:43:33 +08:00
    @yangyang 需要现成的可以用 miniserve
    Buges
        14
    Buges  
       2022-06-19 14:32:39 +08:00 via Android
    学习目的可以,但实际使用还是不建议。
    个人手写的东西很难面面俱到,断点续传、并发、数据竞争、内存泄漏和内存溢出,哪里出了问题文件导致内容错误你都没法排查,尤其是你还用 C 这种完全不安全的语言写,要是用了 epoll 那就更易错了。
    cpstar
        15
    cpstar  
       2022-06-19 15:44:18 +08:00
    自己曾经纯用 java socket 和 swt 手写过一个 pop3 客户端。目的不是为了重复造轮子、闭门造车,而是知其然知其所以然,并且知道其中需要经历过那些坑。
    正如都知道计算器可以计算 1+1 ,那为什么还要学 1+1 。。。
    vagranth
        16
    vagranth  
       2022-06-19 21:41:55 +08:00
    我前几天用 rust 写了一个……
    codehz
        17
    codehz  
       2022-06-19 22:49:18 +08:00
    (不如实现 webdav 协议,直接能在 explorer 上挂载成磁盘
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   966 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 22:54 · PVG 06:54 · LAX 14:54 · JFK 17:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.