Exemple #1
0
        public void Login(Func <Connecter> fun, SuiDaoServer serverConfig)
        {
            _serverConfig = serverConfig;

            login   = fun;
            _client = login.Invoke();
            LogSuccess(_client.Socket);
        }
        public override string GetLoginMsg(CancellationToken cancellationToken)
        {
            LoginParam loginParam = suiDaoLoginData.GetLoginData(cancellationToken);

            Server = new SuiDaoServer {
                ServerAddr = loginParam.server.ip, ServerPort = loginParam.server.bind_port
            };
            var version = typeof(FastTunnelClient).Assembly.GetName().Version.ToString();

            return(new LogInByKeyMassage {
                key = loginParam.key, client_version = version, server_id = loginParam.server.server_id
            }.ToJson());;
        }
Exemple #3
0
        protected virtual Socket login()
        {
            var ClientConfig = _configuration.Get <AppSettings>().ClientSettings;

            Server = ClientConfig.Server;

            DnsSocket _client = null;

            _logger.LogInformation($"正在连接服务端 {Server.ServerAddr}:{Server.ServerPort}");

            try
            {
                // 连接到的目标IP
                if (_client == null)
                {
                    _client = new DnsSocket(Server.ServerAddr, Server.ServerPort);
                }

                _client.Connect();
                _logger.LogInformation("连接成功");
            }
            catch (Exception)
            {
                throw;
            }

            loginMsg = new Message <LogInMassage>
            {
                MessageType = MessageType.C_LogIn,
                Content     = new LogInMassage
                {
                    Webs  = ClientConfig.Webs,
                    SSH   = ClientConfig.SSH,
                    Token = ClientConfig.Token
                },
            };

            // 登录
            _client.Send(loginMsg);

            return(_client.Socket);
        }
Exemple #4
0
        public void Login(Func <Connecter> login, SuiDaoServer serverConfig)
        {
            _serverConfig = serverConfig;
            lastLogin     = login;

            try
            {
                _client = lastLogin.Invoke();
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);

                Thread.Sleep(reTrySpan);
                reConnectAsync().Wait();
                return;
            }

            LogSuccess(_client.Socket);
        }