zoukankan      html  css  js  c++  java
  • Go语言实现http共享

    在我之前的文章(http://www.cnblogs.com/MikeZhang/archive/2012/02/11/httpFileSharePythonAndGo.html)中提到过用go语言实现http共享,这个程序我一直在用,感觉还是python的方式更加灵活:如不指定端口,则默认开启8000……

    python不给力,慢不说,还只允许一个客户端,果断决定自己写一个!

    好了,不多废话了,代码如下:

     /*

    File      : httpShare.go
    Author    : Mike
    E-Mail    : Mike_Zhang@live.com
    */
    package main
    import (
            "net/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.Error())
                    ch <- false
            }
    }
    func main(){
            ch := make(chanbool)
            port := "8000"//Default port 
            iflen(os.Args)>1 {
                    port = strings.Join(os.Args[1:2],"")
            }
            go shareDir(".",port,ch)
            println("Listening on port ",port,"...")
            bresult := <-ch
            iffalse == bresult {
                    println("Listening on port ",port," failed")
            }
    }

    运行效果如下:

    1、正常情况下:

    2、端口被占用时:

    好,就这些来,希望对你有帮助。

  • E-Mail : Mike_Zhang@live.com
  • 转载请注明出处,谢谢!
查看全文
  • 相关阅读:
    VMware Workstation 6.0 正式版公布
    KMyMoney:全体理财好管家
    Bugzilla 3.0 公布
    Brightside:切换工作区的小东西
    QTM-Blogging 客户端
    MDF2ISO-将 MDF 转换为 ISO
    Yakuake 2.8 beta1
    Red Hat 的 Liberation 字体
    Dictman:有效的词典呆板人
    digiKam 0.9.2 Beta 1
  • 原文地址:https://www.cnblogs.com/MikeZhang/p/httpShareGolang20120312.html
  • Copyright © 2011-2022 走看看