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