go http请求会阻塞

whsyy · 2017-10-26 02:48:41 · 2570 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2017-10-26 02:48:41 的主题,其中的信息可能已经有所发展或是发生改变。

go新手,照着书本打,写一个简单的web服务器,成功运行。浏览器也能访问。 问题: 在运行的exe窗口,鼠标多点几下,多划,多拖动几下,在用浏览器发出请求,会阻塞,浏览器一直在转圈,然后在exe服务端窗口,按下ctrl + c ,这个时候,请求又正常了, 服务端每次接受请求时,会执行这个代码,fmt.Println("Hellor"),在窗口输出,有时候阻塞了就输出不了,直到按ctrl + c又正常了, 是什么原因,如何避免这个问题? 求教


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2570 次点击  
加入收藏 微博
6 回复  |  直到 2017-10-26 05:32:18
channel
channel · #1 · 7年之前

你没提供代码,怎么帮你查问题

whsyy
whsyy · #2 · 7年之前
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")
}

这个是源代码

tk103331
tk103331 · #3 · 7年之前
whsyy
whsyy · #4 · 7年之前
tk103331tk103331 #3 回复

看看这个 http://www.cnblogs.com/jasondan/p/3776132.html

对,跟这个一模一样,解决了,非常感谢。

whsyy
whsyy · #5 · 7年之前
channelchannel #1 回复

你没提供代码,怎么帮你查问题

这个问题已经解决了,感谢你的关注。

whsyy
whsyy · #6 · 7年之前

怎么找不到结贴,不须要结贴吗?

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传