/// <summary> /// OnServerClientDisconnected /// </summary> /// <param name="st"></param> /// <param name="info"></param> private void OnServerClientDisconnected(ServerThread st, string info) { try { //Wenn vorhanden if (m_DictionaryServerDatas.ContainsKey(st)) { //Alle Daten freigeben ServerThreadData data = m_DictionaryServerDatas[st]; data.Dispose(); lock (LockerDictionary) { //Entfernen m_DictionaryServerDatas.Remove(st); } //Aus FlowLayoutPanels entfernen RemoveServerClientToFlowLayoutPanel_ServerClient(st); RemoveServerClientToFlowLayoutPanel_ServerProgressBar(data); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
/// <summary> /// AddServerClientToFlowLayoutPanel_ServerProgressBars /// </summary> /// <param name="st"></param> private void AddServerClientToFlowLayoutPanel_ServerProgressBars(ServerThreadData stData) { try { //FlowLayoutPanelServerProgressBars.Invoke(new MethodInvoker(delegate() //{ // //ProgressBar erstellen // ProgressBar prog = new ProgressBar(); // prog.AutoSize = false; // prog.Margin = new Padding(5, FlowLayoutPanelServerProgressBars.Controls.Count > 0 ? 5 : 10, 0, 5); // prog.Width = FlowLayoutPanelServerProgressBars.Width - 20; // prog.Tag = stData; // prog.BackColor = Color.White; // prog.Maximum = (int)stData.JitterBuffer.Maximum; // prog.Name = stData.ServerThread.Client.Client.RemoteEndPoint.ToString(); // //Hinzufügen // FlowLayoutPanelServerProgressBars.Controls.Add(prog); //})); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
/// <summary> /// OnServerDataReceiced /// </summary> /// <param name="st"></param> /// <param name="data"></param> private void OnServerDataReceiced(ServerThread st, Byte[] data) { //Wenn vorhanden if (m_DictionaryServerDatas.ContainsKey(st)) { //Wenn Protocol ServerThreadData stData = m_DictionaryServerDatas[st]; if (stData.Protocol != null) { stData.Protocol.Receive_LH(st, data); } } }
/// <summary> /// RemoveServerClientToFlowLayoutPanel_ServerProgressBar /// </summary> /// <param name="st"></param> private void RemoveServerClientToFlowLayoutPanel_ServerProgressBar(ServerThreadData data) { try { //FlowLayoutPanelServerProgressBars.Invoke(new MethodInvoker(delegate() //{ // //Label löschen // FlowLayoutPanelServerProgressBars.Controls.RemoveByKey(data.ServerThread.Client.Client.RemoteEndPoint.ToString()); //})); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
/// <summary> /// OnServerClientConnected /// </summary> /// <param name="st"></param> private void OnServerClientConnected(ServerThread st) { try { //ServerThread Daten erstellen ServerThreadData data = new ServerThreadData(); //Initialisieren //data.Init(st, m_Config.SoundDeviceNameServer, 8000, 16, 1, 8, 20, 20); //Hinzufügen m_DictionaryServerDatas[st] = data; //Zu FlowLayoutPanels hinzufügen AddServerClientToFlowLayoutPanel_ServerClient(st); AddServerClientToFlowLayoutPanel_ServerProgressBars(data); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
/// <summary> /// RemoveServerClientToFlowLayoutPanel_ServerProgressBar /// </summary> /// <param name="st"></param> private void RemoveServerClientToFlowLayoutPanel_ServerProgressBar(ServerThreadData data) { try { //FlowLayoutPanelServerProgressBars.Invoke(new MethodInvoker(delegate() //{ // //Label löschen // FlowLayoutPanelServerProgressBars.Controls.RemoveByKey(data.ServerThread.Client.Client.RemoteEndPoint.ToString()); //})); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
/// <summary> /// OnServerClientConnected /// </summary> /// <param name="st"></param> private void OnServerClientConnected(ServerThread st) { try { //ServerThread Daten erstellen ServerThreadData data = new ServerThreadData(); //Initialisieren //data.Init(st, m_Config.SoundDeviceNameServer, 8000, 16, 1, 8, 20, 20); //Hinzufügen m_DictionaryServerDatas[st] = data; //Zu FlowLayoutPanels hinzufügen AddServerClientToFlowLayoutPanel_ServerClient(st); AddServerClientToFlowLayoutPanel_ServerProgressBars(data); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
/// <summary> /// AddServerClientToFlowLayoutPanel_ServerProgressBars /// </summary> /// <param name="st"></param> private void AddServerClientToFlowLayoutPanel_ServerProgressBars(ServerThreadData stData) { try { //FlowLayoutPanelServerProgressBars.Invoke(new MethodInvoker(delegate() //{ // //ProgressBar erstellen // ProgressBar prog = new ProgressBar(); // prog.AutoSize = false; // prog.Margin = new Padding(5, FlowLayoutPanelServerProgressBars.Controls.Count > 0 ? 5 : 10, 0, 5); // prog.Width = FlowLayoutPanelServerProgressBars.Width - 20; // prog.Tag = stData; // prog.BackColor = Color.White; // prog.Maximum = (int)stData.JitterBuffer.Maximum; // prog.Name = stData.ServerThread.Client.Client.RemoteEndPoint.ToString(); // //Hinzufügen // FlowLayoutPanelServerProgressBars.Controls.Add(prog); //})); } catch (Exception ex) { Console.WriteLine(ex.Message); } }