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); } }
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); } }