コード例 #1
0
ファイル: Server.cs プロジェクト: eimslab/Shove.Net.Fx2
            /// <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);
                }
            }
コード例 #2
0
 public void CloseHost()
 {
     foreach (var conn in connections)
     {
         conn.Value.DisconnectFromHost();
     }
     tcpserver.Stop();
     udppeer.Close();
     udppeer   = null;
     tcpserver = null;
     connections.Clear();
 }
コード例 #3
0
        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());
            }
        }
コード例 #4
0
        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");
        }