private static Packet CreateChat(Packet p) { try { ClientRequestChat packet = (ClientRequestChat)p; //Check user existence if (User.GetUserByID(packet.user1) != null || User.GetUserByID(packet.user2) != null) { ServerAcknowledgementRequestChat response = new ServerAcknowledgementRequestChat(); response.user1 = 0; response.user2 = 0; return(response); } if (packet.user1 > 0 && packet.user2 > 0) { Chat chat = Chat.CreateNew(packet.user1, packet.user2); ServerAcknowledgementRequestChat response = new ServerAcknowledgementRequestChat(); response.user1 = chat.getId().Item1; response.user2 = chat.getId().Item2; return(response); } else { return(new GenericPacket()); } } catch (Exception e) { Console.WriteLine(e.ToString()); } return(null); }
private static void Broadcast(Channel channel, Message message) { foreach (int userID in channel.GetUserList()) { User user = User.GetUserByID(userID); if (user.socketID == 0) { continue; } PacketSendMessage packet = new PacketSendMessage(); packet.userID = user.id; packet.message = message.GetContent(); packet.ChannelID = channel.id; SendingQueue.Add(packet); } }
private static Packet UserLogout(Packet p) { try { ClientAccountLogout packet = (ClientAccountLogout)p; //Process logout procedure User.GetUserByID(packet.id)?.unbindSocketID(); ServerAcknowledgementLogout response = new ServerAcknowledgementLogout(); response.success = true; return(response); } catch (Exception e) { Console.WriteLine(e.ToString()); } return(null); }