public void CloseServer() { if (server != null && isTcpStart) { server.SendAll(NetworkCommand.EXIT); server.DataReceived -= Server_DataReceived; server.Dispose(); heartBeat.Abort(); checkHeartBeat.Abort(); isTcpStart = false; server = null; } clientDic.Clear(); if (studentDic.Count > 0) { List <string> itemList = new List <string>(studentDic.Keys); foreach (var item in itemList) { studentDic[item].Destory(); studentDic.Remove(item); } } studentDic.Clear(); closeBroadcaster(); }