protected override async Task OnReceiveMessage(string uid, ServerSocketResponse package)
        {
            DashboardSessionSocket socket = Get(uid);

            if (socket == null)
            {
                return;
            }

            string data = await package.GetTextAsync();

            if (string.IsNullOrEmpty(data) || !data.Contains('#'))
            {
                return;
            }

            string key  = data.Substring(0, data.IndexOf('#'));
            string json = data.Substring(data.IndexOf('#') + 1);

            socket.OnInteraction();

            switch (key)
            {
            case "register":
                socket.OnRegister();
                return;

            /*
             * DIRECT
             */
            case "direct":
                DirectSocketManager.OnRequestLoad(this, key, uid, json);
                return;
            }
        }
Beispiel #2
0
        protected override async Task OnReceiveMessage(string uid, ServerSocketResponse package)
        {
            if (package.Type != System.Net.WebSockets.WebSocketMessageType.Text)
            {
                return;
            }

            FrontendServerReceiveModelManager.ParseData(package);
        }
Beispiel #3
0
        public static object ParseData(ServerSocketResponse input)
        {
            if (input.Type == System.Net.WebSockets.WebSocketMessageType.Binary)
            {
                return(null);
            }

            try
            {
                FrontendModelWrapper wrapper = JsonConvert.DeserializeObject <FrontendModelWrapper>(input.GetText());
                if (wrapper == null)
                {
                    return(null);
                }

                int a = 0;
                return(null);
            }
            catch (Exception e) { return(null); }
        }
Beispiel #4
0
        protected override async Task OnReceiveMessage(string uid, ServerSocketResponse package)
        {
            string        key, json;
            SessionSocket socket = Get(uid);

            if (socket == null)
            {
                return;
            }

            try
            {
                string data = await package.GetTextAsync();

                if (string.IsNullOrEmpty(data) || !data.Contains('#'))
                {
                    return;
                }

                key  = data.Substring(0, data.IndexOf('#'));
                json = data.Substring(data.IndexOf('#') + 1);
                socket.OnInteraction();


                SessionType sessionType = Get(uid).SessionType;

                switch (key)
                {
                //
                // shared channels
                //

                case "register":

                    if (sessionType == SessionType.Lander)
                    {
                        ((LanderCommunication)Get(uid).Channels[SessionSocketChannel.Lander])
                        .OnRegistration(key, JsonConvert.DeserializeObject <ReceivingRegistrationModel>(json));
                    }
                    else if (sessionType == SessionType.Prelander)
                    {
                        ((PrelanderCommunication)Get(uid).Channels[SessionSocketChannel.Prelander])
                        .OnRegistration(key, JsonConvert.DeserializeObject <ReceivingRegistrationModel>(json));
                    }

                    break;

                //
                // lander channels
                //

                case "user-create":
                case "user-subscribe":
                case "user-redirected":
                    LanderCommunicationChannel channel = new LanderCommunicationChannel(Get(uid));
                    await channel.Start(key, json);

                    break;

                //
                // prelander channels
                //

                case "pl-init":
                case "pl-tag":
                case "pl-q":
                    PrelanderCommunicationChannel prelanderCommunication = new PrelanderCommunicationChannel(Get(uid));
                    await prelanderCommunication.Call(key, json);

                    break;
                }
            }
            catch (Exception e)
            {
                CloseSession(socket);
                OnException("ApiSocket.OnReceiveMessage", uid, e);
                return;
            }
        }