void LoadRemoteShell() { try { //RemoteShell bool isRemoteShellEnabled = false; bool.TryParse(GlobalConfiguration.GetValue("isRemoteShellEnabled", TrustedInstallerAuth, false.ToString()), out isRemoteShellEnabled); if (isRemoteShellEnabled) { var PubKey64 = GlobalConfiguration.GetValue("RemoteShellPublicKey", TrustedInstallerAuth, null); if (PubKey64 is not null) { try { var PubKey = Convert.FromBase64String(PubKey64); RSServer.SetPublicKey(PubKey, TrustedInstallerAuth); } catch (Exception) { } } var PriKey64 = GlobalConfiguration.GetValue("RemoteShellPrivateKey", TrustedInstallerAuth, null); if (PriKey64 is not null) { try { var PriKey = Convert.FromBase64String(PubKey64); RSServer.SetPublicKey(PriKey, TrustedInstallerAuth); } catch (Exception) { } } var ListenIP = "127.0.0.1"; var ListenPort = 22; ListenIP = GlobalConfiguration.GetValue("RemoteShellIP", TrustedInstallerAuth, ListenIP); if (!int.TryParse(GlobalConfiguration.GetValue("RemoteShellPort", TrustedInstallerAuth, "22"), out ListenPort)) { ListenPort = 22; } IPEndPoint iPEndPoint = new IPEndPoint(IPAddress.Parse(ListenIP), ListenPort); RSServer rs = new RSServer(iPEndPoint, 100); rs.Start(); } } catch (Exception e) { Trace.WriteLine(e); } }
private void btnStart_Click(object sender, EventArgs e) //启动按钮 { rsServer = RSServer.Initiate(txtHost.Text, int.Parse(txtPort.Text)); //初始化 rsServer.OnReceiveLoginData += RsServer_OnReceiveLoginData; //登录帧数据接收处理 rsServer.OnReceiveRealtimeData += RsServer_OnReceiveRealtimeData; //实时数据接收处理 rsServer.OnReceiveStoreData += RsServer_OnReceiveStoreData; //存储数据接收处理 rsServer.OnTelecontrolAck += RsServer_OnTelecontrolAck; //遥控指令应答处理 rsServer.OnTimmingAck += RsServer_OnTimmingAck; //校时命令应答处理 rsServer.OnReceiveParamIds += RsServer_OnReceiveParamIds; //接收设备参数列表处理 rsServer.OnReceiveParam += RsServer_OnReceiveParam; //接收设备参数处理 rsServer.OnReceiveWriteParamAck += RsServer_OnReceiveWriteParamAck; //下载参数指令应答处理 rsServer.OnReceiveTransDataAck += RsServer_OnReceiveTransDataAck; //透传指令应答处理 bool res = rsServer.Start(); //启动监听服务 btnStop.Enabled = !(btnStart.Enabled = !res); //设置停启按钮的状态 }