From 14c25a6be6d147f90011d0218380bf7cd58b76e5 Mon Sep 17 00:00:00 2001
From: gongshangguo <gongshangguo@admin.com>
Date: 星期二, 01 三月 2022 20:05:27 +0800
Subject: [PATCH] 关闭的通道禁止写入

---
 server/clienter.go |   30 ++++++++++++++++++++----------
 1 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/server/clienter.go b/server/clienter.go
index f18377e..c6de633 100644
--- a/server/clienter.go
+++ b/server/clienter.go
@@ -37,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: 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
+}

--
Gitblit v1.8.0