websocket_server.go 526 B

1234567891011121314151617181920212223242526272829
  1. // websocket_server.go
  2. package main
  3. import (
  4. "fmt"
  5. "net/http"
  6. "code.google.com/p/go.net/websocket"
  7. )
  8. func server(ws *websocket.Conn) {
  9. fmt.Printf("new connection\n")
  10. buf := make([]byte, 100)
  11. for {
  12. if _, err := ws.Read(buf); err != nil {
  13. fmt.Printf("%s", err.Error())
  14. break
  15. }
  16. }
  17. fmt.Printf(" => closing connection\n")
  18. ws.Close()
  19. }
  20. func main() {
  21. http.Handle("/websocket", websocket.Handler(server))
  22. err := http.ListenAndServe(":12345", nil)
  23. if err != nil {
  24. panic("ListenAndServe: " + err.Error())
  25. }
  26. }