예제 #1
0
        protected bool VerifyReceivePermissions(Envelope envelope)
        {
            if (!AllowInboundMessages)
            {
                Logger.Warn("Inbound messages are not allowed for this conversation.");
            }
            else if (envelope?.Address == null || envelope.Message == null)
            {
                Logger.Warn("The envelope contains incomplete data - discarding.");
            }
            else if (ReceivedMessages.ContainsKey(envelope.Message))
            {
                Logger.Warn("Envelope is valid, however we have already received this exact message");
            }
            else
            {
                Logger.Trace("Message receipt is permitted");
                return(true);
            }

            return(false);
        }
예제 #2
0
 /// Die Daten von den Clients werden verarbeitet
 public void HandleData(ServerClient client, Command command)
 {
     Console.WriteLine("Daten erhalten! ID: " + command.Identifier); /// Wird angezeigt, wenn ein Daten erhalten worden sind
     if (command.Identifier == "sendMessage")
     {
         List <Tuple <string, string> > messageDatas = new List <Tuple <string, string> >();
         if (ReceivedMessages.ContainsKey(client.Name))
         {
             messageDatas = ReceivedMessages[client.Name];
             ReceivedMessages.Remove(client.Name);
         }
         messageDatas.Add(new Tuple <string, string>(command.Arguments[0], command.Arguments[1]));
         ReceivedMessages.Add(client.Name, messageDatas);
         ServerClient receiver = GetClientByName(command.Arguments[0]);
         if (receiver != null)
         {
             receiver.Send(new Command("sendText", client.Name, command.Arguments[1]));
         }
     }
     else if (command.Identifier == "sendName")
     {
         client.Name = command.Arguments[0];
     }
 }