package server import ( ws "git.loafle.net/overflow/overflow_api_service/ws" "log" ) type Server struct{} func (s *Server) Test(srv ws.WebSocketService_TestServer) error { for { req, err := srv.Recv() if err != nil { return err } if req.GetMsgType() == "onConnection" { onConnection(req) } if err := srv.Send(&ws.WSResponse{ Msg: req.Msg + "!", }); err != nil { return err } } } func onConnection(req *ws.WSRequest) { log.Println("UserID: ", req.GetUserId()) } // //func (s *Server) Stream(_ *echoserver.Empty, stream echoserver.EchoService_StreamServer) error { // start := time.Now() // for i := 0; i < 5; i++ { // time.Sleep(time.Second) // if err := stream.Send(&echoserver.EchoResponse{ // Message: "hello there!" + fmt.Sprint(time.Now().Sub(start)), // }); err != nil { // return err // } // } // return nil //} // // //func (s *Server) Heartbeats(srv echoserver.EchoService_HeartbeatsServer) error { // go func() { // for { // _, err := srv.Recv() // if err != nil { // log.Println("Recv() err:", err) // return // } // log.Println("got hb from client") // } // }() // t := time.NewTicker(time.Second * 1) // for { // log.Println("sending hb") // hb := &echoserver.Heartbeat{ // Status: echoserver.Heartbeat_OK, // } // b := new(bytes.Buffer) // if err := (&jsonpb.Marshaler{}).Marshal(b, hb); err != nil { // log.Println("marshal err:", err) // } // log.Println(string(b.Bytes())) // if err := srv.Send(hb); err != nil { // return err // } // <-t.C // } // return nil //}