示例#1
0
        private void ReceivePacketHandler(object sender, EventArgs e)
        {
            IPacketResponse p = null;

            do
            {
                p = _connector?.Receive();
                p?.Handle(_manager);
            } while (p != null);
        }
示例#2
0
        private void ConnectionHandler(object sender, EventArgs e)
        {
            if (_isClosed)
            {
                return;
            }
            if (_connector == null || _connector?.IsClosed == true)
            {
                _connector  = NetworkConnector.GetClientConnector();
                IsConnected = false;
            }
            else if (_connectionInfo == null || !_connectionInfo.IsConnected)
            {
                IsConnected = false;

                IPacketResponse p = null;
                do
                {
                    p = _connector?.Receive();
                    p?.Handle(_manager);
                } while (p != null);

                _connector.Close();
                _connector = null;
            }
            else
            {
                IsConnected = true;
            }
            _connectionInfo = null;
            var request = new ConnectionRequest
            {
                IsConnect = true
            };

            _connector?.Send(request);
        }