/// <summary>服务端:读取到一个夹具号信息后根据 放行方向 决定将夹具号自用或 提交给客户端 /// /// </summary> /// <param name="or"></param> /// <param name="context"></param> private static void RFIDConnect_RFID_Event(RFID_And_IO_Connect.OPerationResult or, string context) { if (or != RFID_And_IO_Connect.OPerationResult.RFID_读取成功) { AppMessage.Add("从RFID接收到错误消息:" + or.ToString(), AppMessage.MsgType.飞轮岗位A1A3交互消息, true); } else if (string.IsNullOrWhiteSpace(context)) { AppMessage.Add("从RFID接收到空消息", AppMessage.MsgType.飞轮岗位A1A3交互消息, true); } else if (!SParms.RFIDEnable) { AppMessage.Add("从RFID接收到消息:" + context + ",但因为当前不属于RFID模式被抛弃", AppMessage.MsgType.飞轮岗位A1A3交互消息, true); } else if (context.Length < 10) { AppMessage.Add("从RFID接收到夹具号:" + context + ",因为长度不满10位被抛弃", AppMessage.MsgType.飞轮岗位A1A3交互消息, true); } else { string jjh = context /*.Substring(0, 10)*/; AppMessage.Add("接收到RFID夹具号:" + jjh, AppMessage.MsgType.飞轮岗位A1A3交互消息); if (务端缓存的从RFID读取的夹具号 != jjh) { 务端缓存的从RFID读取的夹具号 = jjh; bool 主线 = Dir != "0"; if (主线) { try { byte[] arrMsg = Encoding.UTF8.GetBytes(jjh); udp_server.Send(arrMsg, arrMsg.Length, AppConfig.FEILUN_CLIENTIP); AppMessage.Add("已将条码" + jjh + "发送给客户端", AppMessage.MsgType.飞轮岗位A1A3交互消息); } catch { } } else { GetJJH?.Invoke(jjh); } } else { AppMessage.Add("从RFID接收到数据因重复抛弃:" + context, AppMessage.MsgType.飞轮岗位A1A3交互消息, true); } } }
/// <summary>以客户端模式初始化 /// /// </summary> public static void Init_Client() { new Thread(() => { //IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse(AppConfig.FEILUN_CLIENTIP), AppConfig.FEILUN_CLIENTPORT); //IPEndPoint endPoint2 = new IPEndPoint(IPAddress.Parse(AppConfig.FEILUN_CLIENTIP), AppConfig.FEILUN_CLIENTPORT); IPEndPoint endPoint = AppConfig.FEILUN_CLIENTIP; IPEndPoint endPoint2 = AppConfig.FEILUN_CLIENTIP; while (true) { //try //{ udp_client = new UdpClient(endPoint); //} //catch { } while (true) { byte[] arrMsg; try { arrMsg = udp_client.Receive(ref endPoint2); } catch { break; } string jjh = Encoding.UTF8.GetString(arrMsg, 0, arrMsg.Length); AppMessage.Add("已从客户端接收到夹具号:" + jjh, AppMessage.MsgType.飞轮岗位A1A3交互消息); GetJJH?.Invoke(jjh); } } }) { IsBackground = true }.Start(); }