/// <summary> /// 停止侦听 /// </summary> /// <param name="ErrorDescription"></param> /// <returns></returns> public bool Stop(ref string ErrorDescription) { ErrorDescription = ""; try { tcpServer.Stop(); if (!tcpServer.IsRunning) { return(true); } else { ErrorDescription = "通讯服务没有成功停止。"; return(false); } } catch (Exception e) { ErrorDescription = e.Message; return(false); } }
public void CloseHost() { foreach (var conn in connections) { conn.Value.DisconnectFromHost(); } tcpserver.Stop(); udppeer.Close(); udppeer = null; tcpserver = null; connections.Clear(); }
private void Start_Click(object sender, RoutedEventArgs e) { try { ClientList = null; Server.Stop(); Server = null; } catch { } try { ClientList = new ObservableCollection <TCP_ClientNode>(); Clients.ItemsSource = ClientList; Server = new TCP_Server(IPAddress.Any, cmdhand, 25444); try { Server.SSL_Cert = X509Certificate.CreateFromCertFile(AssemblyDirectory + "/Cert.cer"); } catch { MessageBox.Show("Server Has No Certificate"); } Server.MaxConnections = 10; Server.TCP_ClientState_Changed += Server_TCP_ClientState_Changed; Server.TCP_AcceptClients_Changed += new TCP_AcceptClients_Handeler((s) => AcceptConnection.IsChecked = s); Server.TCP_Data_Event += new TCP_Data((s, c, d) => { Action act = new Action(() => MessageBox.Show("Data Recv\n\nClient ID: " + c.ID + "\nData Direction: " + d.ToString() + "\nData: " + s)); act.Invoke(); }); Server.Start(); } catch (Exception ex) { MessageBox.Show("Failed to Start\n\n" + ex.ToString()); } }
private void RunNetwork() { Console.WriteLine("Starting Network Thread"); try { _Server.Start(); _Desktop_Service.Start();//<-- main loop } catch (Exception e) { Debug.WriteLine(e.Message); } _Server.Stop(); _Desktop_Service.Stop(); Debug.WriteLine("Finished Network Thread"); }