using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace HPSocketCS.Extended
{
///
/// 序例化数传输处理
///
public class SerializerDataProcessed
{
public SerializerDataProcessed()
{
}
///
/// 发送SerializerData数据库请求命令到服务器并返回请求结果
///
/// 请求的SerializerData命令数据类
///
///
[Obsolete("此方法已过时,请不要在其它地方使用", false)]
public static HPSocketCS.Extended.ReturnData HP_SendSerializerCommandToServer(HPSocketCS.Extended.RequestData requestData, int millisecondsTimeout = 1000*90)
{
return HP_SendSerializerCommandToServer(HP_SQLHelper.HpClient, requestData, millisecondsTimeout);
}
///
/// 发送SerializerData数据库请求命令到服务器并返回请求结果
///
/// 网络连接对象
/// 请求的SerializerData命令数据类
///
///
public static HPSocketCS.Extended.ReturnData HP_SendSerializerCommandToServer(HPSocketCS.TcpPackClient _Client, HPSocketCS.Extended.RequestData requestData, int millisecondsTimeout = 1000*90)
{
HPSocketCS.Extended.ReturnData retData = null;
if (_Client.State == ServiceState.Stoped || _Client.State == ServiceState.Stoping)
{
_Client.Connetion();
System.Threading.Thread.Sleep(1000);
}
if (_Client.State == ServiceState.Started)
{
try
{
byte[] tempSendBuffer = HPSocketCS.Extended.DataSetSerializerDeserialize.ObjectSerializerCompressionRetBytes(requestData);
using (System.IO.MemoryStream retMstream = _Client.AutoUnpackingSendAndReturnResult(tempSendBuffer, HPSocketCS.Extended.DataType.Serialization, HPSocketCS.Extended.TransferRequestCommand.SerializationData, millisecondsTimeout))
{
if (retMstream != null && retMstream.Length > 0)
{
retData = (HPSocketCS.Extended.ReturnData)HPSocketCS.Extended.DataSetSerializerDeserialize.ObjectDeserializeDecompress(retMstream.GetBuffer());
retData.DataSize = retMstream.Length;
}
if (retMstream != null)
{
retMstream.Close();
}
}
}
catch (Exception ex)
{
retData = new HPSocketCS.Extended.ReturnData("Serializer请求处理出错:" + ex.Message);
}
}
else
{
return new ReturnData("Serializer指令时失败,未连接到服器或网络连接已断开,请检查网络环境。", requestData.RequestCommand);
}
if ( retData == null)
return new ReturnData("Serializer指令时失败,未连接到服器或网络连接已断开,请检查网络环境。", requestData.RequestCommand);
retData.RequestCommand = requestData.RequestCommand;
return retData;
}
}
}