Ejemplo n.º 1
0
        public SpeedDateClient()
        {
            _handlers = new Dictionary <ushort, IPacketHandler>();
            _kernel   = new SpeedDateKernel();
            _listener = new SpeedDateNetListener();

            _listener.NetworkErrorEvent += (point, code) =>
            {
                Logs.Error($"NetworkError: ({code}): {point}");
            };
            _listener.PeerConnectedEvent += peer =>
            {
                _netPeer.MessageReceived += HandleMessage;

                _logger.Info("Connected");
                Started?.Invoke();
            };
            _listener.NetworkReceiveEvent += (peer, reader, method) =>
            {
                _netPeer.HandleDataReceived(reader.Data);
            };
            _listener.PeerDisconnectedEvent += (peer, info) =>
            {
                _manager.Stop();

                AppUpdater.Instance.Remove(this);

                _logger.Info("Disconnected");
                Stopped?.Invoke();
            };

            _manager = new NetManager(_listener);
        }