mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-11 22:53:43 +08:00
30 lines
555 B
Go
30 lines
555 B
Go
// websocket_server.go
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"net/http"
|
|
"code.google.com/p/go.net/websocket"
|
|
)
|
|
|
|
func server(ws *websocket.Conn) {
|
|
fmt.Printf("new connection\n")
|
|
buf := make([]byte, 100)
|
|
for {
|
|
if _, err := ws.Read(buf); err != nil {
|
|
fmt.Printf("%s", err.Error())
|
|
break
|
|
}
|
|
}
|
|
fmt.Printf(" => closing connection\n")
|
|
ws.Close()
|
|
}
|
|
|
|
func main() {
|
|
http.Handle("/websocket", websocket.Handler(server))
|
|
err := http.ListenAndServe(":12345", nil)
|
|
if err != nil {
|
|
panic("ListenAndServe: " + err.Error())
|
|
}
|
|
}
|