Exemplo n.º 1
0
        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("读卡器远程主机强迫关闭了一个现有的连接");
                // }
            }
        }
Exemplo n.º 2
0
        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);
        }