Beispiel #1
0
        private void tcpClient_QueryEvent(object sender, WcfCommonLib.TcpClient.SocketEVentArgs e)
        {
            ParseQueryString(e);
            return;

            MainScCallbackState mainState = new MainScCallbackState();

            mainState.type = MainScCallbackState.CallbackType.TypeGetImage;
            StringBuilder builder = new StringBuilder(e.QueryString);

            builderQuery.Append(e.QueryString);
            bool bTransfered = true;
            bool bIn         = true;
            bool bOut        = true;

            try
            {
                // ParkID|RecordID
                string[] strQuery = e.QueryString.Split(new char[] { '|' });
                byte[]   inImage;
                byte[]   outImage;
                dbMySQL.GetImage(strQuery[1], out inImage, out outImage);

                if (null == inImage)
                {
                    bIn = false;
                    builder.Append(" 进入图像为空");
                }

                if (null == outImage)
                {
                    bOut = false;
                    builder.Append(" 离开图像为空");
                }

                bTransfered = bIn || bOut;

                //byte[] tmpInImage = new byte[10000000];
                //inImage.CopyTo(tmpInImage, 0);

                //byte[] tmpOutInImage = new byte[59137];
                //outImage.CopyTo(tmpOutInImage, 0);
                // to Center
                //MemoryStream streamIn = new MemoryStream(inImage);
                //MemoryStream streamOut = new MemoryStream(outImage);
                //wcfClient.GetData(123);
                mainState.data = builder;
                mainSC.Post(scCallback, mainState);

                if (bTransfered)
                {
                    wcfClient.UploadInOutImage(strQuery[0], strQuery[1], inImage, outImage);
                }
            }
            catch (Exception ex)
            {
                mainState.data = CommonFunction.GetExceptionMessage(ex);
                mainSC.Post(scCallback, mainState);
            }
        }
Beispiel #2
0
        private void ParseQueryString(WcfCommonLib.TcpClient.SocketEVentArgs e)
        {
            builderQuery.Append(e.QueryString);
            string strQuery = builderQuery.ToString();

            string strSeperator = "\n";
            int    nStartIndex  = 0;
            int    nIndex       = strQuery.IndexOf(strSeperator);

            if (-1 == nIndex || 0 == nIndex)
            {
                return;
            }

            string strResult = null;

            while (-1 != nIndex)
            {
                strResult = strQuery.Substring(nStartIndex, nIndex - nStartIndex);
                ProcessQuery(strResult);
                ++nIndex;
                builderQuery.Remove(0, nIndex - nStartIndex);
                nStartIndex = nIndex;
                nIndex      = strQuery.IndexOf(strSeperator, nStartIndex);
            }
        }