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