예제 #1
0
 public override void Start(int port)
 {
     Port = port;
     try { base.Start(port); }
     catch (Exception error) { throw error; }
     OnStarted?.BeginInvoke(result => { try { OnStarted.EndInvoke(result); } catch { } }, null);
 }
예제 #2
0
        public void Start(IPAddress address, int port)
        {
            if (IsRunning)
            {
                return;
            }

            _isRunning    = true;
            Address       = address;
            Port          = port;
            _serverSocket = new TcpListener(Address, Port.Value);
            _serverSocket.Start();

            _thread = new Thread(Run);
            _thread.Start();
            // Loop until worker thread activates.
            while (!_thread.IsAlive)
            {
                ;
            }

            OnStarted?.BeginInvoke(null, null);
        }