public static void AnswerContactRequest(byte[] data, Server server, IPEndPoint ip, bool ack) { string message = ""; // Unpack the petition ContactReqPacket cPacket = Packet.Unpack <ContactReqPacket>(data); ClientStatus current = server.GetClient(cPacket.To); if (ClientsManagement.AckOrRegContactReq(cPacket, current, ack, out message)) { server.DebugInfo("Answer Contact request: " + (ack ? "Request accepted correctly." : "Request refused correctly.")); if (ack) { server.DebugInfo("New Contact added: " + cPacket.From + " - " + cPacket.To); } // Send the ack server.Udp.SendMessage(new AckErrorPacket(PacketTypes.ContactAck, "Answered correctly").Pack(), ip); } else { server.DebugInfo("Answer Contact request: Incorrect contact request."); // Send error server.Udp.SendError(message, ip); } }
public static void NewContactRequest(byte[] data, Server server, IPEndPoint ip) { string message = ""; // Unpack the petition ContactReqPacket cPacket = Packet.Unpack <ContactReqPacket>(data); ClientStatus current = server.GetClient(cPacket.From); if (ClientsManagement.NewContactRequest(cPacket, current, out message)) { server.DebugInfo(cPacket.From + " made a contact request to " + cPacket.To); // Send the ack server.Udp.SendMessage(new AckErrorPacket(PacketTypes.ContactAck, "New contact request added to database").Pack(), ip); } else { server.DebugInfo("New Contact Request: Incorrect contact request."); // Send error server.Udp.SendError(message, ip); } }