/// <summary> /// 接收到SOCKET服务器传来数据的函数 /// </summary> /// <param name="sender"></param> /// <param name="args">通信事件参数</param> void AsynServer_OnReceive(object sender, CommEventArgs args) { CommEventArgs commArgs = args; string address = commArgs.SourceAddress; commArgs.SourceAddress = args.TargetAddress; commArgs.TargetAddress = address; if (args.Params != null) { for (int i = 0; i < args.Params.Count; i++) { if (commArgs.Params[i].CMD == CommCMD.扫描产品编号) { if (commArgs.Params[i].Code == TagCode.获取条形码) { if (txtProductCode.InvokeRequired) { this.Invoke(new GlobalObject.DelegateCollection.MessageHandle(this.UpdateProductCode), new object[] { commArgs.Params[i].DataValue.ToString() }); } else { txtProductCode.Text = commArgs.Params[i].DataValue.ToString(); } } } } } for (int i = 0; i < commArgs.Params.Count; i++) { commArgs.Params[i].CMD = CommCMD.应答; } string error; m_server.Send(commArgs, out error); }
void asynServer_OnReceive(object sender, CommEventArgs args) { CommEventArgs commArgs = args; string address = commArgs.SourceAddress; commArgs.SourceAddress = args.TargetAddress; commArgs.TargetAddress = address; if (args.Params != null) { for (int i = 0; i < args.Params.Count; i++) { if (commArgs.Params[i].CMD == CommCMD.用户登陆) { Socket_UserInfo userInfo = commArgs.Params[i].DataValue as Socket_UserInfo; RequestUserProcessor userProcessor = new RequestUserProcessor(); commArgs.Params[i].DataValue = userProcessor.ReceiveUserInfo(userInfo); } else if (commArgs.Params[i].CMD == CommCMD.初始化) { string workbench = commArgs.Params[i].DataValue as string; RequestWorkBenchInfo wbProcessor = new RequestWorkBenchInfo(); if (commArgs.Params[i].Code == TagCode.工位产品列表) { commArgs.Params[i].DataValue = wbProcessor.GetProductInfo(workbench); } else if (commArgs.Params[i].Code == TagCode.工位指定产品零件信息) { commArgs.Params[i].DataValue = wbProcessor.GetWorkBenchInfo(workbench); } } else if (commArgs.Params[i].CMD == CommCMD.请求) { if (commArgs.Params[i].Code == TagCode.获取装配条形码对应零件信息) { Socket_FittingAccessoryInfo fittingAccessoryInfo = commArgs.Params[i].DataValue as Socket_FittingAccessoryInfo; RequestFittingInfo fittingProcessor = new RequestFittingInfo(); commArgs.Params[i].DataValue = fittingProcessor.ReceiveReadBarCodeInfo(fittingAccessoryInfo); } else if (commArgs.Params[i].Code == TagCode.获取选配值) { string info = (string)commArgs.Params[i].DataValue; RequestFittingInfo fittingProcessor = new RequestFittingInfo(); commArgs.Params[i].DataValue = fittingProcessor.ReceiveReadChoseMatchInfo(info); //Socket_FittingAccessoryInfo fittingAccessoryInfo = commArgs.Params[i].DataValue as Socket_FittingAccessoryInfo; //RequestFittingInfo fittingProcessor = new RequestFittingInfo(); //fittingAccessoryInfo = fittingProcessor.ReceiveReadBarCodeInfo(fittingAccessoryInfo); //commArgs.Params[i].DataValue = fittingProcessor.ReceiveReadChoseMatchInfo(fittingAccessoryInfo); } } else if (commArgs.Params[i].CMD == CommCMD.存储工位信息) { if (commArgs.Params[i].Code == TagCode.装配信息) { Socket_FittingAccessoryInfoSum fittingAccessoryInfoSum = commArgs.Params[i].DataValue as Socket_FittingAccessoryInfoSum; fittingAccessoryInfoSum.Edition = GetProductType(fittingAccessoryInfoSum.ProductTypeName); RequestFittingInfo fittingProcessor = new RequestFittingInfo(); commArgs.Params[i].DataValue = fittingProcessor.ReceiveSaveTempFittingInfo(fittingAccessoryInfoSum); if (fittingAccessoryInfoSum.ProductTypeName.Contains("力帆") && fittingAccessoryInfoSum.WorkBench == "DB") { commArgs.Params[i].DataValue = fittingProcessor.ReceiveSaveFittingInfo(fittingAccessoryInfoSum.ProductCode); } else if (fittingAccessoryInfoSum.ProductTypeName.Contains("众泰") && fittingAccessoryInfoSum.WorkBench == "DB") { commArgs.Params[i].DataValue = fittingProcessor.ReceiveSaveFittingInfo(fittingAccessoryInfoSum.ProductCode); } } } } } for (int i = 0; i < commArgs.Params.Count; i++) { commArgs.Params[i].CMD = CommCMD.应答; } string error; m_server.Send(commArgs, out error); }