overflow_service/server/ws_server.go
insanity@loafle.com 8ec65498f6 Temporary websocket
2017-06-27 19:53:46 +09:00

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
//}