Beispiel #1
0
        private static Task OnMessage(SnooperMessage message)
        {
            Message MSG = message.ReadObject <Message>();

            Console.WriteLine($"[{ClientName}] {MSG.MessageContent}");
            return(Task.CompletedTask);
        }
        protected void RespondToRequest(SnooperMessage Request, object Response)
        {
            if (Response == null)
            {
                Response = new object();
            }
            string Channel = Request.Channel;
            string RID     = Request.Headers["$QueryID"];
            Dictionary <string, string> _Headers = new Dictionary <string, string>();

            _Headers.Add("$BaseMessageType", "Response");
            _Headers.Add("$ObjectType", Response.GetType().Name);
            _Headers.Add("$QueryID", RID);
            if (Channel != null)
            {
                _Headers.Add($"$Channel", Channel);
            }
            string       Resp      = JsonConvert.SerializeObject(Response);
            MemoryStream DatStream = new MemoryStream(Encoding.UTF8.GetBytes(Resp));

            if (Security.EncryptStream(DatStream, out MemoryStream ResStream, ref _Headers))
            {
                if (DatStream != ResStream)
                {
                    DatStream.Dispose();
                }

                Queue.Enqueue(new SnooperStackMessage()
                {
                    Data = ResStream, Header = GetHeaderBytes(_Headers)
                });
            }
 private static Task <object> ServerRequest_Request(SnooperMessage Request)
 {
     Console.WriteLine("[Server] Got a Request in channel Request");
     Thread.Sleep(3000);
     Console.WriteLine("[Server] Returned Request");
     return(Task.FromResult((object)new TransferObject()
     {
         Data = "Hello World!"
     }));
 }
        private static void OnClientDisconnect(SnooperMessage message, SnooperSocketClient Client)
        {
            userProfile Profile = Clients.GetClientData(Client);

            if (Profile.LoggedIn)
            {
                Clients.Leave(Client);
                Client.Client.Close();
                Clients.SendAll(new ServerMessage()
                {
                    Message = $"User '{Profile.Username}' has left the chat.", Username = "******"
                }, null, "Messages");
            }
        }
        private static void LoginRequest(SnooperMessage message, SnooperSocketClient Client)
        {
            UserLoginData LData   = message.ReadObject <UserLoginData>();
            userProfile   Profile = Clients.GetClientData(Client);

            if (!Profile.LoggedIn)
            {
                Profile.LoggedIn = true;
                Profile.Username = LData.Username;
                Clients.SendAll(new ServerMessage()
                {
                    Message = $"User '{Profile.Username}' has joined the chat.", Username = "******"
                }, null, "Messages");
            }
        }
        private static void HandleNewMessage(SnooperMessage message, SnooperSocketClient Client)
        {
            userProfile Profile = Clients.GetClientData(Client);

            if (Profile.LoggedIn)
            {
                Clients.SendAll(new ServerMessage()
                {
                    Message = message.ReadObject <ClientMessage>().Message, Username = Profile.Username
                }, null, "Messages");
            }
            else
            {
            }
        }
Beispiel #7
0
        private static Task UserJoined(SnooperMessage message)
        {
            Console.WriteLine("rec");
            LoginData Data = message.ReadObject <LoginData>();

            ClientName = Data.Username;
            if (Data.Joining)
            {
                Console.WriteLine($"[Server] User '{Data.Username}' joined the chat.");
            }
            else
            {
                Console.WriteLine($"[Server] User '{Data.Username}' left the chat.");
            }
            return(Task.CompletedTask);
        }
 private static Task ServerRequest_Message(SnooperMessage message)
 {
     Console.WriteLine("[Server] Got a message in channel Request");
     Console.WriteLine($"{message.ReadObject<MSGDat>().Content}");
     return(Task.CompletedTask);
 }
 private static Task Program_MessageReceived(SnooperMessage message)
 {
     Console.WriteLine($"REC MSG: {message.ReadObject<MSGDat>().Content}");
     return(Task.CompletedTask);
 }