- 看到别人把一个静态服务器都上传到 github 了,之前我也做过方便 WIFI 下手机下载电脑中的文件服务工具,现在抽空上传了,附使用方法。
- 其实主要是在电脑开 wifi 情况下手机传文件。
- python2 自带的 SimpleHTTPServer 乱码不说,估计是编码问题,只能单个下载,还经常长时间无速度。 python3 没试过。
- 有需要请访问fileserv
- 话说 golang http 这块做的挺简洁的,可以去试试。
1
raincious Jan 10, 2016
不是很懂 Golang ,但貌似还可以优化:
0 、其实我觉得这种项目太小,没必要弄个仓库出来吧?随时用随时写就行了,再不羁可以放 Gist 。建议有空再实现个上传功能,这样意义就大了。 1 、`fmt.Printf("Listening is on` …… 放在 Routine 里是基于什么考虑?直接打印出来然后继续执行貌似效果差不太大(对这个功能来说); 2 、`ListenAndServe`最好做一下检查,因为 Port 很有可能会有听失败的情况; 3 、 Shutdown 流程不优雅,最好是拦截系统信号之后自己组织关闭流程(虽然这里问题不大); 4 、`ListenAndServe`后面有空行。 |
3
raincious Jan 10, 2016
@linghutf
要点还是太小了,一行就能实现: https://github.com/golang/go/wiki/HttpStaticFiles 或许得等你做成 Blog 之后才能看到价值。 另外,`socket_str := ip_str + ":" + strconv.Itoa(*port)` 不要自己拼,用 net.JoinHostPort 可以兼容 Common Name 、 IPv4 和 IPv6 : https://golang.org/pkg/net/#JoinHostPort |
4
linghutf OP @raincious 刚刚把博客的静态文件服务写完跑起来了。可以去看一下[blog]( https://linghutf.gitcafe.io),就是服务器地址怎么隐藏还没改,感觉 hexo md 文件中没有模板。
|
5
linghutf OP @raincious [My Blog]( https://linghutf.gitcafe.io)
|
7
mengzhuo Jan 11, 2016 via iPhone
…这一行就搞定的事
楼主至少打包三大平台,才算随时用 |
10
mengzhuo Jan 11, 2016
@Niphor 真要学,还可以看 Fileserver 里的代码,特别美,那种上层统一,底层接口自适应的美
http.Write -> fd.Stats -> io.Copy -> file.ReadFrom -> syscall.Syscall -> sendfile |