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(); }
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 = "开始"; } }
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(); }
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(); }
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(); } }