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); } }
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()); } }