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
  • 转载请注明出处,谢谢!
查看全文
  • 相关阅读:
    C#设计模式系列 2 ChainOfResponsibility 职责链模式之真假美猴王
    c#查询计算机WMI信息
    C#设计模式系列 6 State 状态模式 之电视36计,我要自己掌握遥控器
    ASP.NET 一般处理文件,复制以前文件,无法调试,无法访问的问题
    DAY 215 Flask中before_request与after_request使用
    DAY 216 python爬虫requests库
    202020212 网络对抗技术 20181321 Exp2 后门原理与实践
    需求分析弯弓与烈马
    缓冲区溢出实验 20181321
    基于gmssl的CA系统构建及应用课程设计报告
  • 原文地址:https://www.cnblogs.com/MikeZhang/p/httpShareGolang20120312.html
  • Copyright © 2011-2022 走看看