这是我的代码:
package main
import (
"fmt"
"net"
"net/http"
"os"
)
const RECV_BUF_LEN = 1024
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, "Test")
}
func main() {
http.HandleFunc("/", handler)
s := &http.Server{Addr: ":8080", Handler: nil}
listener, err := net.Listen("tcp", s.Addr)
if err != nil {
fmt.Println("Error: ", err.Error())
fmt.Println("Close Server")
os.Exit(1)
}
for {
conn, err := l.Accept()
if err != nil {
fmt.Println("Error: ", err.Error())
continue
}
go ClientLogic(conn)
}
}
func ClientLogic(conn net.Conn) {
fmt.Println("Connect Successful")
conn.Close()
}
我知道我可以使用以下代码来构建服务器,但我想做一些事情,例如打印一些数据。
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
当代码运行时,服务器端可以成功打印“连接成功”。
但是,它不会在客户端显示任何内容。
换句话说,客户端的浏览器显示任何内容并继续加载,但服务器端可以显示连接成功的消息。
PS:代码参考http://lolikitty.pixnet.net/blog/post/148420590和golang的源码(http://golang.org/src/pkg/net/http/server.go?s=50405 :50451#L1684 )
哈士奇WWW
相关分类