示例#1
0
        private void Connect()
        {
            _Client = null;

            var remote = cbRemote.Text;
            var uri    = new NetUri(remote);

            if (uri.Type == NetType.Unknown)
            {
                uri.Type = NetType.Tcp;
            }
            if (uri.Port == 0)
            {
                uri.Port = 22;
            }

            var client = new SshClient(uri.Host ?? (uri.Address + ""), uri.Port, txtUser.Text, txtPass.Text);

            client.ErrorOccurred += Client_ErrorOccurred;
            client.Connect();

            _Client = client;

            "已连接服务器".SpeechTip();

            pnlSetting.Enabled = false;
            btnConnect.Text    = "关闭";

            _config.Save();
        }
示例#2
0
        private void btnConnect_Click(Object sender, EventArgs e)
        {
            _config.Save();
            SaveConfig();

            var btn = sender as Button;

            if (btn.Text == "开始")
            {
                var svr = new NetServer((Int32)numPort.Value)
                {
                    Log = _log,
                    //SessionLog = _log,
                    //SocketLog = _log,
                    //LogReceive = true,
                    //LogSend = true,
                };

                var set = NetConfig.Current;
                if (set.ShowLog)
                {
                    svr.SessionLog = _log;
                }
                if (set.ShowSocketLog)
                {
                    svr.SocketLog = _log;
                }
                if (set.ShowSend)
                {
                    svr.LogSend = true;
                }
                if (set.ShowReceive)
                {
                    svr.LogReceive = true;
                }

                // 加入定长编码器,处理Tcp粘包
                svr.Add(new LengthFieldCodec {
                    Offset = 4, Size = -2
                });
                svr.Received += OnReceived;
                svr.Start();

                _Server = svr;

                ShowData();

                pnlSetting.Enabled = false;
                btn.Text           = "停止";
            }
            else
            {
                _Server.TryDispose();
                _Server = null;
                _timer.TryDispose();

                pnlSetting.Enabled = true;
                btn.Text           = "开始";
            }
        }
示例#3
0
        private async Task Connect()
        {
            _Client = null;

            var remote = cbRemote.Text;
            var uri    = new NetUri(remote);

            if (uri.Type == NetType.Unknown)
            {
                uri.Type = NetType.Tcp;
            }
            if (uri.Port == 0)
            {
                uri.Port = 1883;
            }

            var client = new MqttClient
            {
                Server   = uri + "",
                ClientId = txtClientId.Text,
                UserName = txtUser.Text,
                Password = txtPass.Text,

                Log        = _log,
                LogMessage = true,
            };

            client.Received     += Client_Received;
            client.Connected    += (s, e) => XTrace.WriteLine("连接成功");
            client.Disconnected += (s, e) => XTrace.WriteLine("连接断开");
            await client.ConnectAsync();

            _Client = client;

            "已连接服务器".SpeechTip();

            gbSetting.Enabled   = false;
            gbSubscribe.Enabled = true;
            gbSend.Enabled      = true;
            btnConnect.Text     = "断开";

            _config.Save();
        }
示例#4
0
        private void SetResult(params String[] rs)
        {
            var sb = new StringBuilder();

            foreach (var item in rs)
            {
                if (sb.Length > 0)
                {
                    sb.AppendLine();
                }
                sb.Append(item);
            }
            rtResult.Text = sb.ToString();

            _config.Save();
        }
示例#5
0
        private async void btnMD5_Click(Object sender, EventArgs e)
        {
            _config.Save();

            var chars  = GetChars();
            var buf    = GetSource();
            var result = buf.ToStr().ToUpper();

            var length = (Int32)numLength.Value;
            var cpu    = Environment.ProcessorCount;
            var step   = _total / cpu;

            _watch        = Stopwatch.StartNew();
            rtResult.Text = null;

            var btn = sender as Button;

            btn.Enabled    = false;
            timer1.Enabled = true;
            try
            {
                //var source = new TaskCompletionSource<String>();
                var cts = new CancellationTokenSource();
                var ts  = new List <Task <String> >();
                for (var i = 0; i < cpu; i++)
                {
                    var start = i * step;
                    if (!cts.Token.IsCancellationRequested)
                    {
                        ts.Add(Task.Run(() => DoWork(result, chars, length, start, start + step, cts)));
                    }
                }

                var rs = await Task.WhenAll(ts);

                rtResult.Text = rs.Where(e => e != null).Join(Environment.NewLine);
            }
            finally
            {
                btn.Enabled    = true;
                timer1.Enabled = false;

                timer1_Tick(null, null);
                _watch.Stop();
            }
        }