diff --git a/src/EngineEntrance.js b/src/EngineEntrance.js
index fdbcd86..81e1449 100644
--- a/src/EngineEntrance.js
+++ b/src/EngineEntrance.js
@@ -35,7 +35,6 @@ import QuestionApe from 'apes/QuestionApe';
 import UTF8 from 'utf-8';
 
 let loger = Loger.getLoger('McuClient');
-let _sdkInfo = {"version": "v1.60.0.20170729", "author": "www.3mang.com"};
 
 //APE
 let _sass;
@@ -58,8 +57,9 @@ export default class MessageEntrance extends Emiter {
   constructor() {
     super();
     //sdk 信息
-    this.sdkInfo = _sdkInfo;
-    loger.warn(this.sdkInfo);
+    GlobalConfig.sdkVersion="v1.61.0.20170729";
+    loger.warn("sdkVersion:"+GlobalConfig.sdkVersion);
+
     //获取设备和系统信息
     SystemConfig.getSystemInfo();
 
diff --git a/src/apes/ConferApe.js b/src/apes/ConferApe.js
index c18db0a..e8ed472 100644
--- a/src/apes/ConferApe.js
+++ b/src/apes/ConferApe.js
@@ -26,6 +26,7 @@ class ConferApe extends Ape {
     );
 
     this.rosters = {}; //用户列表
+    this.rosterLen=0;//当前课堂人数
     this.timerCounter = new TimerCounter(); //计时器
 
     //第三方消息控制 parent和Iframe直接的通讯
@@ -149,6 +150,7 @@ class ConferApe extends Ape {
     nodeInfoRecordPdu.explorer = GlobalConfig.explorer;
     nodeInfoRecordPdu.explorerVersion = GlobalConfig.explorerVersion;
     nodeInfoRecordPdu.os = GlobalConfig.os;
+    nodeInfoRecordPdu.sdkVersion=GlobalConfig.sdkVersion||"未知版本";
 
     return nodeInfoRecordPdu;
   }
@@ -841,9 +843,9 @@ class ConferApe extends Ape {
       //loger.log("自己加入课堂的消息->",nodeId,"role-->", nodeData.role, ApeConsts.userTypes[nodeData.role]);
       //自己加入的时候,需要做一下判断操作,如果满足以下3个条件就要暂停课堂:
       // 1.当前课堂只有自己;2.自己的身份不是host;3当前的课堂状态为(CLASS_STATUS_STARTED= 1;//直播中)
-      let rosterLen = Object.keys(this.rosters).length;
-      GlobalConfig.rosterNumber = rosterLen;//记录当前的总人数
-      if (rosterLen < 1 && !GlobalConfig.isHost && GlobalConfig.classStatus == ApeConsts.CLASS_STATUS_STARTED) {
+      this.rosterLen = Object.keys(this.rosters).length;
+      GlobalConfig.rosterNumber = this.rosterLen;//记录当前的总人数
+      if (this.rosterLen < 1 && !GlobalConfig.isHost && GlobalConfig.classStatus == ApeConsts.CLASS_STATUS_STARTED) {
         loger.warn("当前课堂没有老师->暂停课堂");
         this.pauseClass({isForce: true});
         this.stopRecord(true);
@@ -910,17 +912,21 @@ class ConferApe extends Ape {
       loger.log("NR_INVISIBLE");
       return;
     }
-    if (!rosterExists) {
+    if (!rosterExists){
+      this.rosterLen=Object.keys(this.rosters).length;
+      GlobalConfig.rosterNumber = this.rosterLen;//记录当前的总人数
+      newNodeData.rosterLen=this.rosterLen;
       loger.log("人员加入->", newNodeData);
       this._emit(MessageTypes.CLASS_INSERT_ROSTER, {"nodeId": nodeId, "nodeData": newNodeData});
       this.emitRosterChange();
-
     } else {
       //loger.log("更新人员列表数据,rosterExists已经存在",rosterExists);
+      this.rosterLen=Object.keys(this.rosters).length;
+      GlobalConfig.rosterNumber = this.rosterLen;//记录当前的总人数
+      newNodeData.rosterLen=this.rosterLen;
       loger.log("人员更新信息->", newNodeData);
       this._emit(MessageTypes.CLASS_UPDATE_ROSTER, {"nodeId": nodeId, "nodeData": newNodeData});
     }
-
   }
 
   //踢出用户
@@ -984,8 +990,11 @@ class ConferApe extends Ape {
         loger.log(nodeId, "->离开课堂->身份->", user.role);
       }
       delete this.rosters[nodeId];
+      this.rosterLen=Object.keys(this.rosters).length;
+      GlobalConfig.rosterNumber = this.rosterLen;//记录当前的总人数
+
       this.emitRosterChange();
-      this._emit(MessageTypes.CLASS_DELETE_ROSTER, {"nodeId": nodeId});
+      this._emit(MessageTypes.CLASS_DELETE_ROSTER, {"nodeId": nodeId,"rosterLen":this.rosterLen});
 
       //当前人员列表中抽一个人来检查离开人员是否占用频道
       for (let key in this.rosters) {
@@ -993,7 +1002,7 @@ class ConferApe extends Ape {
         //如果抽到的人是自己就处理以下操作
         if (randNodeId == GlobalConfig.nodeId) {
           loger.log(randNodeId, "有权限检查离开的人员是否占用channel");
-          this._emit(MessageTypes.CLASS_NONENTITY_ROSTER, {"nodeId": nodeId});
+          this._emit(MessageTypes.CLASS_NONENTITY_ROSTER, {"nodeId": nodeId,"rosterLen":this.rosterLen});
           //如果离开的人员是老师,需要暂停当前的课堂
 
           if (user && user.role == ApeConsts.NR_HOST) {
diff --git a/src/pdus/pro.js b/src/pdus/pro.js
index 0cfd36a..cb17509 100644
--- a/src/pdus/pro.js
+++ b/src/pdus/pro.js
@@ -920,6 +920,7 @@ message RCNodeInfoRecordPdu {
     optional string explorer = 33;//浏览器
     optional string explorerVersion = 34;//浏览器版本
     optional string os = 35;//系统版本
+    optional string sdkVersion = 36;//SDK版本
 }
 
 message RCVotingPollSettingsPdu {