Exemplo n.º 1
0
        public static void createNewChatServer(ClientObject client, string usernameFrom, string usernameTo)
        {
            try
            {
                connection = GetDBConnection();
                connection.Open();

                int IDFrom = getIDFromName(usernameFrom);
                int IDTo   = getIDFromName(usernameTo);

                if (IDFrom == 0 || IDTo == 0)
                {
                    connection.Close();
                    AddNewChatHandler.sendNewChatPacketDeny(client);
                    return;
                }

                int chatID = getMaxChatID() + 1;
                chat_id = chatID;

                string mysqlCommand = "INSERT INTO chat (chat_id, user_id) VALUES (" + chatID + ", " + IDFrom + ")";
                cmd = new MySqlCommand(mysqlCommand, connection);
                cmd.ExecuteNonQuery();

                string mysqlCommand2 = "INSERT INTO chat (chat_id, user_id) VALUES (" + chatID + ", " + IDTo + ")";
                cmd = new MySqlCommand(mysqlCommand2, connection);
                cmd.ExecuteNonQuery();

                connection.Close();

                AddNewChatHandler.sendNewChatPacket(client, usernameTo, chat_id.ToString());
                Console.WriteLine(usernameTo + " " + chat_id.ToString());
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
            finally
            {
                if (connection != null)
                {
                    connection.Close();
                }
            }
        }
Exemplo n.º 2
0
        public void checkAnswersForClient()
        {
            byte[] msg           = new byte[1024];
            string decodedString = "";
            int    count         = 0;

            while (true)
            {
                try
                {
                    ns = client.GetStream();
                    while (client.Connected)
                    {
                        count         = ns.Read(msg, 0, msg.Length);
                        decodedString = Encoding.UTF8.GetString(msg, 1, count - 1);

                        if (msg[0] == 11) // Регистрация
                        {
                            try
                            {
                                string[] data = decodedString.Split(":");
                                RegistrationHandler.checkRegistrationHandler(data[0], data[1], data[2], this);
                            }
                            catch
                            {
                                // Ничего...
                            }
                        }
                        else if (msg[0] == 22) // Подтверждение регистрации
                        {
                            try
                            {
                                string[] data = decodedString.Split(":");
                                ConfirmationHandler.checkConfirmationHandler(data[0], data[1], data[2], this);
                            }
                            catch
                            {
                                Console.WriteLine("Ошибка создания пользователя в базе данных.");
                            }
                        }
                        else if (msg[0] == 33) // Авторизация
                        {
                            string[] data = decodedString.Split(":");
                            LoginHandler.checkLoginHandler(data[0], data[1], this);
                        }
                        else if (msg[0] == 44) // Загрузка чатов
                        {
                            setUsername(decodedString);
                            LoadChatsHandler.loadChatsHandler(this);
                        }
                        else if (msg[0] == 55) // Отправка сообщений
                        {
                        }
                        else if (msg[0] == 66) // Приём сообщений
                        {
                        }
                        else if (msg[0] == 77) // Создание нового чата
                        {
                            string[] data = decodedString.Split(":");
                            AddNewChatHandler.createNewChat(this, data[0], data[1]);
                        }
                    }
                    Thread.Sleep(5);
                }
                catch
                {
                    // Ничего...
                }
            }
        }