Пример #1
0
        private void SendMessage(string ipPort, SendMessagePayload payload)
        {
            var sender = Users.Find(user => user.IpPort.Equals(ipPort));

            if (sender == null)
            {
                return;
            }

            var messagePayload = new ReceiveMessagePayload(sender.Id, payload.Message);
            var clientPacket   = new ClientPacket(ClientAction.ReceiveMessage, messagePayload);

            SendToAllUsers(clientPacket);
            InvokeReceivedMessageEvent(sender, payload.Message);
        }
Пример #2
0
        private void SendMessageTo(string ipPort, SendMessageToPayload payload)
        {
            var sender = Users.Find(user => user.IpPort.Equals(ipPort));

            if (sender == null)
            {
                return;
            }

            var recipient = Users.Find(user => user.Id == payload.Recipient);

            if (recipient == null)
            {
                return;
            }

            var messagePayload = new ReceiveMessagePayload(sender.Id, payload.Message);
            var clientPacket   = new ClientPacket(ClientAction.ReceiveMessage, messagePayload);

            _server.SendAsync(recipient.IpPort, clientPacket.ToJson());
            InvokeReceivedMessageToEvent(sender, payload.Message, recipient);
        }
Пример #3
0
        private void ReceiveMessage(ReceiveMessagePayload payload)
        {
            var sender = Users.Find(user => user.Id == payload.UserId);

            InvokeIncomingMessageEvent(sender, payload.Message);
        }