server 实现watch机制
package main
import (
"net/http"
"time"
)
func main() {
server := http.Server{}
server.Addr = ":8080"
server.Handler = http.HandlerFunc(hand)
server.ListenAndServe()
}
func hand(w http.ResponseWriter, r *http.Request) {
flusher := w.(http.Flusher)
for {
w.Write([]byte("aaa\n"))
flusher.Flush()
time.Sleep(time.Second)
}
}
client
ur := "http://localhost:8080"
get, err := http.Get(ur)
if err != nil {
fmt.Println(err)
return
}
reader := bufio.NewReader(get.Body)
for {
line, b, err := reader.ReadLine()
if err != nil {
fmt.Println(err)
break
}
fmt.Println(string(line), b)
}
这样client就能不断收到server发过来的信息