77 lines
1.5 KiB
Go
77 lines
1.5 KiB
Go
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
|
|
//}
|