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
  • 转载请注明出处,谢谢!
查看全文
  • 相关阅读:
    Spark学习之路 (二十七)图简介
    Spark学习之路 (二十三)SparkStreaming的官方文档
    Spark学习之路 (二十一)SparkSQL的开窗函数和DataSet
    Spark学习之路 (二十)SparkSQL的元数据
    Spark学习之路 (十九)SparkSQL的自定义函数UDF
    Spark学习之路 (十八)SparkSQL简单使用
    Spark学习之路 (十七)Spark分区
    JSP中request对象常用方法汇总
    JSP中request对象常用方法汇总
    在Myeclipse10中配置tomcat后新建工程
  • 原文地址:https://www.cnblogs.com/MikeZhang/p/httpShareGolang20120312.html
  • Copyright © 2011-2022 走看看