using HPSocketCS.Extended;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LYFZ.Network.TCPNetworkServer
{
///
/// 请求指令
///
public enum SerializerRequestCommand
{
///
/// 测试指令
///
TestCommand = 0,
FTPCommand = 1
}
///
/// 此类已过期 不建义使用
///
public class SerializationRequestProcessed
{
public SerializationRequestProcessed() {
}
///
/// 服务器端接收客户端发送的Serialization数据请求并处理返回结果
///
/// 网络连接对象
/// 协议头
/// 连接ID
/// 收到的数据
public static bool SerializationDataRequestProcessed(HPSocketCS.TcpPackServer hp_Server, TcpHeadInfo header, IntPtr connId, byte[] bytes)
{
bool ret = false;
TransferRequestCommand Command = (TransferRequestCommand)Convert.ToInt32(header.RequestCommand);
ReturnData returnData;
try
{
RequestData requestData = (RequestData)DataSetSerializerDeserialize.ObjectDeserializeDecompress(bytes);
TCP_ClientConnectInfo cInfo = new TCP_ClientConnectInfo(connId.ToInt32(), header);
try
{
// LYFZ.BLL.BLL_FileLogs.WriteMainLogs(String.Format("接收到命令请求{0},参数{1}", Command.ToString(), recprotocol.Content));
if (Command == TransferRequestCommand.SerializationData)
{
returnData = SerializerRequestProcessed(cInfo, requestData);
}
else
{
returnData = new ReturnData("非法Serializer请求指令,服务器拒绝执行...");
}
}
catch (Exception ex)
{
returnData = new ReturnData("处理Serializer请求指令时出错:" + ex.Message);
}
// LYFZ.BLL.BLL_FileLogs.WriteMainLogs("服务器端返回信息:" + returnProtocol.Content.Trim());
if (returnData == null)
{
returnData = new ReturnData("Serializer请求指令失败,没有返回有效的结果");
}
returnData.ServerStartTimeStamp = LYFZ.Network.TCPNetworkServer.TCP_NetworkServer.ServerStartTimeStamp;
byte[] sendBytes = DataSetSerializerDeserialize.ObjectSerializerCompressionRetBytes(returnData);
ret = hp_Server.AutoUnpackingAndSend(connId, sendBytes, header.TransportID, DataType.Serialization, Command);
System.GC.Collect();
}
catch (Exception ex)
{
try
{
returnData = new ReturnData("服务器处理客户端Serializer请求时出错:" + ex.Message);
returnData.ServerStartTimeStamp = LYFZ.Network.TCPNetworkServer.TCP_NetworkServer.ServerStartTimeStamp;
SystemFileLogs.WriteLogs(returnData.ReturnMessage);
byte[] sendBytes = DataSetSerializerDeserialize.ObjectSerializerCompressionRetBytes(returnData);
ret = hp_Server.AutoUnpackingAndSend(connId, sendBytes, header.TransportID, DataType.Serialization, Command);
}
catch
{
}
}
return ret;
}
///
/// 处理SQL命令请求 并返回请求结果
///
///
///
///
static ReturnData SerializerRequestProcessed(TCP_ClientConnectInfo cInfo, RequestData requestData)
{
ReturnData returnData = null;
SerializerRequestCommand rCommand = (SerializerRequestCommand)requestData.RequestCommand;
// requestData.AttachedMessage
switch (rCommand)
{
case SerializerRequestCommand.TestCommand:
string jsondata = "1111";
byte[] jsonBytes = HPSocketCS.Extended.DataSetSerializerDeserialize.ObjectSerializerRetBytes(jsondata);
returnData = new ReturnData("请求指令成功 ~O~",0);
returnData.DataByte = jsonBytes;
returnData.AttachedMessage = "Serializer测试请求指令成功 ~O~ 收到的附加信息为:" + requestData.AttachedMessage;
break;
}
return returnData;
}
}
}