Exemplo n.º 1
0
 /// <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();
 }
Exemplo n.º 2
0
    /// <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));
    }
Exemplo n.º 3
0
    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;
    }
Exemplo n.º 4
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);
            }
        }
Exemplo n.º 5
0
    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;
    }
Exemplo n.º 6
0
 public static HttpObject CreateSingleObject(ServerDataType type, bool hasHeader, string url)
 {
     return(new HttpObject(type, hasHeader, url));
 }
Exemplo n.º 7
0
 public Packet(ServerDataType type, bool isHeader)
 {
     _dataType       = type;
     _IsHeader       = isHeader;
     _header.RetCode = 0;
 }