go新手,照着书本打,写一个简单的web服务器,成功运行。浏览器也能访问。
问题:
在运行的exe窗口,鼠标多点几下,多划,多拖动几下,在用浏览器发出请求,会阻塞,浏览器一直在转圈,然后在exe服务端窗口,按下ctrl + c ,这个时候,请求又正常了,
服务端每次接受请求时,会执行这个代码,fmt.Println("Hellor"),在窗口输出,有时候阻塞了就输出不了,直到按ctrl + c又正常了,
是什么原因,如何避免这个问题? 求教
更多评论
```go
package main
import (
"fmt"
"net/http"
)
func main() {
var handleMap = map[string]func(http.ResponseWriter, *http.Request){}
handleMap["/"] = index
handleMap["/welcome"] = welcome
for k, v := range handleMap {
http.HandleFunc(k, v)
}
fmt.Println("http server Running on:", 9001)
err := http.ListenAndServe(":9001", nil)
if err != nil {
panic(err)
}
}
func index(w http.ResponseWriter, r *http.Request) {
fmt.Println("index")
}
func welcome(w http.ResponseWriter, r *http.Request) {
fmt.Println("welcome")
}
```
这个是源代码
#2