saas-smartAi通信协议标准库
gongshangguo
2022-02-28 160a425c85f128ed47f92aa15c7eb6f76d68610a
server/clienter.go
@@ -39,6 +39,16 @@
func (c *Clients) OnRegister(cli *client.Client, msg *aiot.Protocol) error {
   Srv.RegisterDevice(msg, cli)
   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: cli.GetMsgProto(msg.MsgProto.MsgId),
      Data: msg.Data,
   }
   _ = cli.WriteBody(msgFeedBack)
   return nil
}
@@ -54,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)
@@ -74,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
}