/// <summary> /// 数据同步按钮事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void btnDataUpload_Click(object sender, EventArgs e) { try { this.cud = new CombinUploadData(); index = 0; dataNum = 1; AccessDBUtil.strCommon = "QClizi";//路径1 if (ConfigurationManager.AppSettings.AllKeys.Contains("DJZUploadIsScoketProtocol")) { string checkType = ConfigurationManager.AppSettings["DJZUploadIsScoketProtocol"].ToString(); if (checkType == "Y") { GetDataBySocket(); } else { DataGet(); } } else { DataGet(); } } catch (Exception err) { MessageBox.Show(err.ToString()); throw; } }
/// <summary> /// 通过网络通信获取数据 /// </summary> public void GetDataBySocket() { try { this.cud = new CombinUploadData(); btnDataUpload.Enabled = false; labCountnum.Text = "数据统计中,请稍后..."; labUploadnum.Text = "0"; UploadCount = 0; this.endFlag = true; Application.DoEvents(); string IP = ConfigurationManager.AppSettings["DJZIPAddress"].ToString(); string port = ConfigurationManager.AppSettings["DJZPort"].ToString(); string starTime = "", endTime = ""; btnDataUpload.Enabled = true; if (this.ckbCheckDate.Checked) { starTime = dtpStart.Value.ToString("yyyy-MM-dd"); endTime = dtpEnd.Value.ToString("yyyy-MM-dd"); } socketSend = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPAddress ip = IPAddress.Parse(IP); IPEndPoint point = new IPEndPoint(ip, int.Parse(port)); socketSend.ReceiveTimeout = 5000; socketSend.Connect(point); string msg = "{\"Type\":\"0\",\"StartDate\":\"" + starTime + "\",\"EndDate\":\"" + endTime + "\"}"; //生化的type值为0 byte[] buffer = new byte[1024 * 1024 * 3]; buffer = Encoding.UTF8.GetBytes(msg); socketSend.Send(buffer); //开启新的线程,不停的接收服务器发来的消息 Thread c_thread = new Thread(Received); c_thread.IsBackground = true; c_thread.Start(); } catch (Exception) { MessageBox.Show("IP或者端口号错误..."); } }