Example #1
0
 private void button2_Click(object sender, EventArgs e)
 {
     if (!Upload.socketconnect())
     {
         //button2.Text = "断开";
         try
         {
             Upload.buildsocket();
             button2.Text = "断  开";
         }
         catch (Exception ex6)
         {
             //Upload.socket.r
         }
         //button2.Text = "断  开";
     }
     else
     {
         button2.Text = "连  接";
         Upload.socket.Disconnect(true);
     }
 }
Example #2
0
        private static void m_send()
        {
            long freq = 0;

            if (QueryPerformanceFrequency(ref freq) == false)
            {
                throw new Exception("不支持高精度计时.");
            }
            double count_per_millsec = freq / 1000.0;
            long   start_time        = 0;
            long   now_time          = 0;

            QueryPerformanceCounter(ref start_time);
            while (true)
            {
                if (!HNC_Connect.issmpl)
                {
                    continue;
                }

                QueryPerformanceCounter(ref now_time);
                while (now_time - start_time < 50 * count_per_millsec)
                {
                    QueryPerformanceCounter(ref now_time);
                }

                bool dataable = (HNC_Connect.i_que.Count > 60) && (HNC_Connect.v_que.Count > 1100) && (HNC_Connect.s_que.Count > 1100);

                if (dataable)
                {
                    HNC_Connect.getdata.WaitOne();

                    List <byte> pack = new List <byte>();

                    for (int p = 0; p < 50; p++)
                    {
                        i_temp[p] = HNC_Connect.i_que.Dequeue();
                        //int i1=HNC_Connect.i_que.Dequeue();
                        //i_temp[p] = 2200;

                        for (int p1 = 0; p1 < 20; p1++)
                        {
                            v_temp[p * 20 + p1] = HNC_Connect.v_que.Dequeue();
                            s_temp[p * 20 + p1] = HNC_Connect.s_que.Dequeue();
                        }
                    }

                    HNC_Connect.getdata.ReleaseMutex();

                    pack.AddRange(HNC_Connect.temp2[counter]);
                    pack.AddRange(HNC_Connect.data2byte(i_temp));
                    pack.AddRange(HNC_Connect.data2byte(v_temp));
                    pack.AddRange(HNC_Connect.data2byte(s_temp));

                    Upload.socketsend(pack.ToArray());
                    //Console.WriteLine("发送数据"+counter.ToString());

                    if (counter < 3)
                    {
                        counter++;
                    }
                }
                start_time = now_time;

                //Upload.socketsend(HNC_Connect.datatemp[3].ToArray());
            }
        }