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
  • 转载请注明出处,谢谢!
查看全文
  • 相关阅读:
    CF219D
    HDU 4259 Double Dealing 数学题
    HDU1599 find the mincost route 最小环
    HDU3592 World Exhibition 排队判断3种情况
    POJ3694 Network 加边查询剩余桥的个数
    Flex 如何获得Tree 拖动节点的起始位置
    wcf webconfig配置
    学JS面向对象 以及里面的继承
    sqlserver 几种查询耗时
    ubuntu更改文件夹属性
  • 原文地址:https://www.cnblogs.com/MikeZhang/p/httpShareGolang20120312.html
  • Copyright © 2011-2022 走看看