private void clientAccept(Object socketServer) { Socket client = socketServer as Socket; while (true) { //获取客户端的IP和端口号 IPAddress clientIP = (client.RemoteEndPoint as IPEndPoint).Address; int clientPort = (client.RemoteEndPoint as IPEndPoint).Port; LogUtil.instance.Log("读卡器客户端连入 " + clientIP + " : " + clientPort);//CJC应提示或列出报警器是否可用正常 //--------------------------------------- byte[] clientData = new byte[1024]; //try //{ int revLen = client.Receive(clientData); //对数据进行判断 if (revLen == 8)//先8字节判断 && clientData[revLen-1] == 13 { byte[] data = new byte[revLen]; Array.Copy(clientData, data, revLen);//转存另一个数组 //在这里把数据整理 DZCBean bean = new DZCBean(); bean.Ip = clientIP.ToString(); bean.Weight = DataUtil.byteWeightDataToDouble(data); //重量数据 bean.Data = DataUtil.byteWeightDataToStringSplit(data); //byte[]转string,用逗号分隔 LogUtil.instance.Log("读卡器 " + clientIP + " 当前重量: " + bean.Weight); //-------------------------------------- UserBean user = new UserBean(); control.receiveData(null, user);//回传数据 } else { LogUtil.instance.Log("数据不是读卡器重量数据,不发送"); } string recMessage = Encoding.ASCII.GetString(clientData, 0, revLen); for (int i = 0; i < revLen; i++) { Console.Write(clientData[i] + " "); } Console.WriteLine("读卡器收到信息:" + recMessage); //} //catch (SocketException e) //{ // LogUtil.Log("读卡器远程主机强迫关闭了一个现有的连接"); // } } }
public void receiveData(DZCBean bean, UserBean user) { Console.WriteLine("我这这里页面接收到了数据: " + bean.Ip); //把数据给前台 if (bean != null) //电子秤数据 { ResultBean result = model.insertWeightDataToWorkBean(bean); //结合数据,保存数据,判断低重 LogUtil.instance.Log(result.Msg); if (result.Success && result.IsLow) { LogUtil.instance.Log(result.Msg2); alarmServer.send(result.Bean); } } else if (user != null) //用户刷卡的 { } view.showTable(null); }