用Google Go语言实现http共享,这个程序我一直在用,感觉还是python的方式更加灵活:如不指定端口,则默认开启8000……
可python不给力,慢不说,还只允许一个客户端,果断决定自己写一个!
好了,不多废话了,代码如下:
- /*
- File : httpShare.go
- Author : Mike
- E-Mail : Mike_Zhang@live.com
- */
- package main
- import (
- "http"
- "os"
- "strings"
- )
- func shareDir(dirName string,port string,ch chan bool){
- h := http.FileServer(http.Dir(dirName))
- err := http.ListenAndServe(":"+port,h)
- if err != nil {
- println("ListenAndServe : ",err.String())
- ch <- false
- }
- }
- func main(){
- ch := make(chan bool)
- port := "8000" //Default port
- if len(os.Args)>1 {
- port = strings.Join(os.Args[1:2],"")
- }
- go shareDir(".",port,ch)
- println("Listening on port ",port,"...")
- bresult := <-ch
- if false == bresult {
- println("Listening on port ",port," failed")
- }
- }
运行效果如下:
1、正常情况下:
2、端口被占用时:
好,就这些来,希望对你有帮助。
原文链接:http://www.cnblogs.com/MikeZhang/archive/2012/03/13/httpShareGolang20120312.html
【编辑推荐】