saas-smartAi通信协议标准库
gongshangguo
2022-03-03 d3d05d0eecdd76e86eeb3d28dcd765db042dce17
server/clienter.go
@@ -3,7 +3,6 @@
import (
   "basic.com/valib/go-aiot.git/aiotProto/aiot"
   "basic.com/valib/go-aiot.git/client"
   "basic.com/valib/logger.git"
   "errors"
   "go.uber.org/zap"
)
@@ -19,7 +18,7 @@
      // 错误信息
      errMsg := "Cluster have not registered"
      // 记录日志
      logger.Error(errMsg, zap.Any("msg", msg))
      cli.Logger.Error(errMsg, zap.Any("msg", msg))
      cli.Close()
      // 移除集群
      Srv.RemoveCluster(msg.SenderId)
@@ -29,7 +28,7 @@
   msg.SenderId = Srv.serverId
   msg.Receiver = aiot.RECEIVER_TO_MASTER
   msg.ReqType = aiot.REQ_TYPE_RESPONSE
   msg.MsgProto = cli.GetMsgProto(msg.MsgProto.MsgId)
   msg.MsgProto = client.GetMsgProto(msg.MsgProto.MsgId)
   _ = cli.WriteBody(msg)
   // 上报到服务端
   go Srv.serverCallBack.OnHeartBeat(cli, msg)
@@ -38,8 +37,18 @@
// 实现OnRegister
func (c *Clients) OnRegister(cli *client.Client, msg *aiot.Protocol) error {
   Srv.RegisterDevice(msg, cli)
   Srv.RegisterDevice(cli, msg)
   go Srv.serverCallBack.OnRegister(cli, msg)
   msgFeedBack := &aiot.Protocol{
      Receiver: aiot.RECEIVER_TO_MASTER,
      SenderId: Srv.serverId,
      DeviceProto: msg.DeviceProto,
      MsgType: aiot.MSG_TYPE_REGISTER,
      ReqType: aiot.REQ_TYPE_RESPONSE,
      MsgProto: client.GetMsgProto(msg.MsgProto.MsgId),
      Data: msg.Data,
   }
   _ = cli.WriteBody(msgFeedBack)
   return nil
}
@@ -55,15 +64,6 @@
   return nil
}
// 实现OnClose
func (c *Clients) OnClose(cli *client.Client) {
   if Srv.IsMasterOnline(cli.GetDeviceId()) {
      Srv.RemoveCluster(cli.GetDeviceId())
   }
   go Srv.serverCallBack.OnClose(cli)
   return
}
// 实现OnDataReport
func (c *Clients) OnDataReport(cli *client.Client, msg *aiot.Protocol) error {
   go Srv.serverCallBack.OnDataReport(cli, msg)
@@ -75,3 +75,12 @@
   go Srv.serverCallBack.OnDeviceControl(cli, msg)
   return nil
}
// 实现OnClose
func (c *Clients) OnClose(cli *client.Client) {
   if Srv.IsMasterOnline(cli.GetDeviceId()) {
      Srv.RemoveCluster(cli.GetDeviceId())
   }
   go Srv.serverCallBack.OnClose(cli)
   return
}