/// <summary> /// 销毁网络连接控制器 /// </summary> public static void CreateConnnect(ServerDataType type, string ip, int port, ConnnectType connnectType = ConnnectType.SocketObject, bool hasHeader = true) { DestroyConnnect(); CurrConnnectType = connnectType; _NetObject = Activator.CreateInstance(Type.GetType(connnectType + ""), type, ip, port, hasHeader) as BaseNetObject; _NetObject.CreateConnect(); }
/// <summary> /// 序列化数据包 /// </summary> /// <param name="msgID"></param> /// <param name="msgData"></param> public static byte[] Encode(int msgID, object msgData, ServerDataType dataType, bool isHeader = true) { byte[] bytes; switch (dataType) { case ServerDataType.str: bytes = System.Text.UTF8Encoding.UTF8.GetBytes(msgData as string); break; case ServerDataType.json: JObject jd = msgData as JObject; bytes = System.Text.UTF8Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(jd)); break; case ServerDataType.protobuf: bytes = (msgData as PacketDistributed).ToByteArray(); break; case ServerDataType.stream: bytes = msgData as byte[]; break; default: throw new System.Exception("Message Data Type Error!"); } return(Encode(msgID, bytes, isHeader)); }
public HttpObject(ServerDataType type, bool hasHeader, string url) { ServerMsgType = type; mHasHeader = hasHeader; mWebClient = new HttpWebClient(); mWebClient.UploadDataCompleted += httpWebClient_UploadDataCompleted; mUrl = new Uri(url); IsReadySend = true; mReconnectCount = 0; }
/// <summary> /// 获取数据 /// </summary> /// <returns></returns> private object GetServerData() { ServerDataType type = (ServerDataType)Utility.ConvertTo(this.Type.GetTextValue(), typeof(ServerDataType)); switch (type) { case ServerDataType.Time: return(GetServerTime()); case ServerDataType.Random: return(random.NextDouble()); case ServerDataType.Application: return(GetApplicationItem()); case ServerDataType.Session: return(GetSessionItem()); case ServerDataType.Cache: return(GetCacheItem()); case ServerDataType.QueryString: return(GetRequestQueryStringItem()); case ServerDataType.Form: return(GetRequestFormItem()); case ServerDataType.Cookie: return(GetCookieItem()); case ServerDataType.ServerVariables: return(GetRequestServerVariablesItem()); case ServerDataType.RequestParams: return(GetRequestParamsItem()); case ServerDataType.Request: return(GetRequestItem()); case ServerDataType.Environment: return(typeof(System.Environment)); case ServerDataType.AppSetting: return(ConfigurationManager.AppSettings[this.Item.ToString()]); default: return(null); } }
public SocketObject(ServerDataType type, string ip, int port, bool hasHeader = true) { ServerMsgType = type; _IP = ip; _Port = port; _endPoint = new IPEndPoint(IPAddress.Parse(_IP), _Port); _ReconnectCount = 0; _Thread = null; CurrNetState = NetState.NotConnect; ReadBuff = new byte[ReceiveLen]; TempBuff = new byte[ReceiveLen]; TempPos = 0; _IsHeader = hasHeader; }
public static HttpObject CreateSingleObject(ServerDataType type, bool hasHeader, string url) { return(new HttpObject(type, hasHeader, url)); }
public Packet(ServerDataType type, bool isHeader) { _dataType = type; _IsHeader = isHeader; _header.RetCode = 0; }