Esempio n. 1
0
        private void send_data(byte[] btData)
        {
            btArry = null;

            btArry = CoFAS_ConvertManager.BytesMerge(Encoding.UTF8.GetBytes("$GS,4,8,"), btData);

            str = CoFAS_ConvertManager.ByteArray2HexString(btArry, " ");

            Add_ListView("송신 : " + str, "");

            _pCoFAS_SocketServer.m_socWorker.Send(btArry);
        }
Esempio n. 2
0
        //클라이언트 에서 보낸 데이터 확인 처리
        private void ReceiveRequest(Socket soc, byte[] data)
        {
            try
            {
                //신호가 길어지면 잘라서 들어옴..
                if (dicBuffer.ContainsKey(soc))
                {
                    byte[]   temp = new byte[0];
                    DateTime dt;

                    dicBufferTime.TryGetValue(soc, out dt);

                    //5초 이내 신호만 같은 신호
                    if ((DateTime.Now) - dt < new TimeSpan(0, 0, 5))
                    {
                        dicBuffer.TryGetValue(soc, out temp);

                        data = CoFAS_ConvertManager.BytesMerge(temp, data);
                    }

                    dicBufferTime.Remove(soc);
                    dicBuffer.Remove(soc);
                }


                //마지막에 [0x2C] == [','] 가 없으면 신호는 더들어 온다.

                ////if (data[data.Length - 1] != bytEnd[0])
                ////{
                ////    dicBuffer.Add(soc, data);
                ////    dicBufferTime.Add(soc, DateTime.Now);
                ////    return;
                ////}

                //string strMesage = "";

                //string strTime = CoFAS_ConvertManager.Date2String(DateTime.Now, CoFAS_ConvertManager.enDateType.DateTime).Replace("-", "").Replace(" ", "").Replace(":", "");

                //string[] strHex = BitConverter.ToString(data, 12, 30).Split('-');

                string[] strHex = BitConverter.ToString(data, 12, 20).Split('-');
                //string[] strHex = BitConverter.ToString(data, 12, 70).Split('-');

                string strHex1 = CoFAS_ConvertManager.Hex2Double(strHex[0] + strHex[1] + strHex[2] + strHex[3] + strHex[4] + strHex[5] + strHex[6] + strHex[7]).ToString();

                //strMesage = "1001:" + strTime + ":3001:4001:" + strHex1 + ":,";
                //InsertQueueData(strMesage);

                //string strHex2 = CoFAS_ConvertManager.Hex2Integer(strHex[8] + strHex[9] + strHex[10] + strHex[11]).ToString();

                //strMesage = "1002:" + strTime + ":3002:4002:" + strHex2 + ":,";
                //InsertQueueData(strMesage);

                //string strHex3 = CoFAS_ConvertManager.Hex2Float(strHex[12] + strHex[13] + strHex[14] + strHex[15]).ToString();

                //strMesage = "1003:" + strTime + ":3003:4003:" + strHex3 + ":,";
                //InsertQueueData(strMesage);

                //string strHex4 = CoFAS_ConvertManager.Hex2Float(strHex[16] + strHex[17] + strHex[18] + strHex[19]).ToString();

                //strMesage = "1004:" + strTime + ":3004:4004:" + strHex4 + ":,";
                //InsertQueueData(strMesage);

                //string strHex5 = CoFAS_ConvertManager.Hex2Float(strHex[20] + strHex[21] + strHex[22] + strHex[23]).ToString();

                //strMesage = "1005:" + strTime + ":3005:4005:" + strHex5 + ":,";
                //InsertQueueData(strMesage);

                //string strHex6 = CoFAS_ConvertManager.Hex2Float(strHex[24] + strHex[25] + strHex[26] + strHex[27]).ToString();

                //strMesage = "1006:" + strTime + ":3006:4006:" + strHex6 + ":,";
                //InsertQueueData(strMesage);

                string strMsg = "";

                strMsg += string.Format("환산 측정 부피 : {0} m3", strHex1);
                //strMsg += string.Format(" | 측정 부피 : {0} m3", strHex2);
                //strMsg += string.Format(" | 측정 압력 : {0} bar", strHex3);
                //strMsg += string.Format(" | 측정 온도 : {0}", strHex4);
                //strMsg += string.Format(" | 측정 유량 : {0}", strHex5);
                //strMsg += string.Format(" | 환산 측정 유량 : {0}", strHex6);

                Add_ListView("수신 : " + strMsg, "");

                string str = Encoding.UTF8.GetString(data, 0, data.Length - 1);

                str = CoFAS_ConvertManager.ByteArray2HexString(data, "");

                Add_ListView("수신 : " + str, "");

                //string[] strRData = new string[ProcGetStringcount(str, ",")];

                //strRData = str.Split(',');

                //for (int a = 0; a < strRData.Length; a++)
                //{
                //    InsertQueueData(strRData[a]);
                //}

                //_pCoFAS_SocketServer.m_socWorker.Send(Encoding.UTF8.GetBytes("1"));
            }
            catch (SocketException pSocketException)
            {
                //_pCoFASLog.WLog_Exception("ReceiveRequest : SocketException", pSocketException);
                //_pCoFAS_SocketServer.m_socWorker.Send(Encoding.UTF8.GetBytes("-1"));
            }
            catch (Exception ex)
            {
                //_pCoFASLog.WLog_Exception("ReceiveRequest", ex);
                // _pCoFAS_SocketServer.m_socWorker.Send(Encoding.UTF8.GetBytes("-1"));
            }
            finally
            {
                //soc.Shutdown(SocketShutdown.Both);
                //if (soc.Connected) soc.Disconnect(false);
            }
        }