private void OnPackageReceived(object sender, PackageEventArgs <MyPackageInfo> e) { var client = sender as EasyClient <MyPackageInfo>; if (AllClientMessageList.ContainsKey(client.LocalEndPoint.ToString())) { AllClientMessageList[client.LocalEndPoint.ToString()].Add(new ClientMessage { MsgType = MessageType.Receive, MsgTime = DateTime.Now, MsgContent = Encoding.Default.GetString(e.Package.AllData) }); } else { ClientMessage cmsg = new ClientMessage { MsgType = MessageType.Receive, MsgTime = DateTime.Now, MsgContent = Encoding.Default.GetString(e.Package.AllData) }; AllClientMessageList.Add(client.LocalEndPoint.ToString(), new ObservableCollection <ClientMessage> { cmsg }); } }
private void Close() { for (int i = 0; i < ClientList.Count; i++) { if (ClientList[i].IsConnected == true) { if (ClientList[i].LocalEndPoint.ToString() == SelectedClientConnectInfo.LocalEndPoint) { string localEndPoint = SelectedClientConnectInfo.LocalEndPoint; if (ClientList[i].Close().Result) { ClientList.Remove(ClientList[i]); for (int k = 0; k < ClientConnectInfoList.Count; k++) { if (ClientConnectInfoList[k].LocalEndPoint == localEndPoint) { ClientConnectInfoList.Remove(ClientConnectInfoList[k]); AllClientMessageList.Remove(localEndPoint); } } } } } } }