func chatHandler(s sockjs.Session) { users.Add(s) defer users.Remove(s) for { m := s.Receive() if m == nil { break } fullAddr := s.Info().RemoteAddr addr := fullAddr[:strings.LastIndex(fullAddr, ":")] m = []byte(fmt.Sprintf("%s: %s", addr, m)) users.Broadcast(m) } }