private void BtnOpen_Click(object sender, EventArgs e) { TcpClientMgr.GetInstance().m_SocketClient.DelRecvEvent(new SocketClient.RecvEvent(test)); TcpClientMgr.GetInstance().m_SocketClient.RegisterRecvEvent(new SocketClient.RecvEvent(test)); TcpClientMgr.GetInstance().m_SocketClient.DelConnetEvent(new SocketClient.ConnetEvent(test1)); TcpClientMgr.GetInstance().m_SocketClient.RegisterConnetEvent(new SocketClient.ConnetEvent(test1)); TcpClientMgr.GetInstance().Connection(); }
private void test1(string code, bool flag) { string text = code + "\n\n"; if (!flag) { TcpClientMgr.GetInstance().Close(); } }
public void SetServer(string ip, int port) { if (ip != Param.IP || port != Param.Port) { Param.IP = ip; Param.Port = port; TcpClientMgr.GetInstance().Close(); ConnectServer(); } }
public void ConnectServer() { //连接到服务器 labConnectState.Text = $@"{Param.IP}:{Param.Port}"; Log.Show($@"连接服务器{Param.IP}:{Param.Port}"); TcpClientMgr.GetInstance().m_SocketClient = new SocketClient(Param.IP, Param.Port); TcpClientMgr.GetInstance().m_SocketClient.RegisterConnetEvent(ConnectServer); TcpClientMgr.GetInstance().m_SocketClient.RegisterRecvEvent(ReceiveData); TcpClientMgr.GetInstance().Connection(); }
private void SystemConfig_Load(object sender, EventArgs e) { ShowProductAll(); txtAddr.Text = TcpClientMgr.GetInstance().m_SocketClient.IP; txtPort.Text = TcpClientMgr.GetInstance().m_SocketClient.Port.ToString(); ckbSaveImageAll.Checked = AutoForm._autoForm.Param.IsSaveImageAll; ckbSaveImageNG.Checked = AutoForm._autoForm.Param.IsSaveImageNG; ckbSaveData.Checked = AutoForm._autoForm.Param.IsSaveData; ckbSaveLog.Checked = AutoForm._autoForm.Param.IsSaveLog; }
public static void returnMessage() { string item; int i = 0; while (!p._go.IsCompleted) { if (p._go.TryTake(out item)) { r._go.TryAdd(string.Format("处理:{0}", i++), 5000); TcpClientMgr.GetInstance().Send("OK"); // Console.WriteLine(item); } System.Threading.Thread.Sleep(10); } }
public bool Run() { TcpClientMgr.GetInstance().m_SocketClient.DelConnetEvent(new SocketClient.ConnetEvent(test1)); TcpClientMgr.GetInstance().m_SocketClient.RegisterConnetEvent(new SocketClient.ConnetEvent(test1)); TcpClientMgr.GetInstance().m_SocketClient.DelRecvEvent(new SocketClient.RecvEvent(sendMessage)); TcpClientMgr.GetInstance().m_SocketClient.RegisterRecvEvent(new SocketClient.RecvEvent(sendMessage)); TcpClientMgr.GetInstance().Connection(); Action <object> action = (object obj) => { Parallel.Invoke(() => sendMessage(""), () => cameraSnap(), () => processImage(), () => returnMessage()); }; Task t1 = new Task(action, ""); t1.Start(); return(true); }
private void test1(string code, bool flag) { string text = code + "\n\n"; string a = RecvTextBox.Text; if (RecvTextBox.InvokeRequired) {//c#中禁止跨线程直接访问控件,InvokeRequired是为了解决这个问题而产生的,用一个异步执行委托 RecvTextBox.BeginInvoke(new MethodInvoker(delegate { RecvTextBox.AppendText(text); })); } else { RecvTextBox.AppendText(text); } if (!flag) { TcpClientMgr.GetInstance().Close(); } }
/// <summary> /// 解析指令 /// </summary> /// <param name="data"></param> public static void Parse(string data) { DateTime t1 = DateTime.Now; Log.Show($"接收:{data}"); bool result = false; //清理数据 SendData.Clear(); //平台定位 if (data == CommandType.T1) { result = VisionMgr.GetInstance().GetVisionBase(VisionStepName.MainPos).Process(); string temp; if (result) { /* 12345678-数值必须用8位表示 * 12-前2位表示数值的符号,00-正,11-负 * 3456-中间4位表示数值的整数部分 * 78-后2位表示数值的小数部分 */ string x = $"{SendData.X:000000.00}".Replace(".", "").Replace("-00", "11"); string y = $"{SendData.Y:000000.00}".Replace(".", "").Replace("-00", "11"); string u = $"{SendData.Angle:000000.00}".Replace(".", "").Replace("-00", "11"); temp = $"01,,01,,01,,{x},,{y},,{u}"; } else { temp = $"01,,01,,00,,00000000,,00000000,,00000000"; } TcpClientMgr.GetInstance().Send(temp); Log.Show($"发送:{temp}"); } //机械手定位 else if (data == CommandType.T2) { result = VisionMgr.GetInstance().GetVisionBase(VisionStepName.MainMea).Process(); string temp; if (result) { string x = $"{SendData.X:000000.00}".Replace(".", "").Replace("-00", "11"); string y = $"{SendData.Y:000000.00}".Replace(".", "").Replace("-00", "11"); string areaNgCount = $"{SendData.CountAreaNG:0000}"; string posNgCount = $"{SendData.CountPosNG:0000}"; //面积NG数量 位置NG数量 temp = $"01,,02,,01,,{x},,{y},,{areaNgCount}{posNgCount}"; } else { temp = $"01,,02,,00,,00000000,,00000000,,00000000"; } TcpClientMgr.GetInstance().Send(temp); Log.Show($"发送:{temp}"); } //针脚测量 else if (data == CommandType.T4) { result = VisionMgr.GetInstance().GetVisionBase(VisionStepName.PinMea).Process(); string temp; if (result) { string resPin = SendData.PinCountOK ? "11" : "22"; //面积NG数量 位置NG数量 temp = $"01,,01,,01,,00000000,,00000000,,000000{resPin}"; } else { temp = $"01,,01,,00,,00000000,,00000000,,00000022"; } TcpClientMgr.GetInstance().Send(temp); Log.Show($"发送:{temp}"); } TimeSpan time = DateTime.Now - t1; Log.Show($"用时:{time.TotalMilliseconds}"); }
private void BtnClose_Click(object sender, EventArgs e) { TcpClientMgr.GetInstance().Close(); }