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); }
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); }
private void ReceiveMessage(ReceiveMessagePayload payload) { var sender = Users.Find(user => user.Id == payload.UserId); InvokeIncomingMessageEvent(sender, payload.Message); }