예제 #1
0
        /// <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;
            }
        }
예제 #2
0
        /// <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或者端口号错误...");
            }
        }