20行Golang代码实现一个HTTP服务器

5年以前  |  阅读数:500 次  |  编程语言:Golang 
package main

import (
    "fmt"
    "net/http"
    "time"
)

func stream(resp http.ResponseWriter, req *http.Request) {
    respf, ok := resp.(http.Flusher)
    if !ok {
        panic("not flushable")
    }
    fmt.Println("stream")
    resp.WriteHeader(200)
    for i := 0; i < 10; i++ {
        n, err := resp.Write([]byte("tick\n"))
        respf.Flush()
        fmt.Println("tick", n, err)
        time.Sleep(time.Second * 1)
    }
}

func main() {
    http.HandleFunc("/", stream)
    fmt.Println("serve")
    http.ListenAndServe(":5000", nil)
}

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8