MySQL R7 отключение и подключение к базе(проблема)
#1

Предисловие: В OnGameModeExit() прописано mysql_close(); в OnGameModeInit() соответственно mysql_connect().
Обнаружил проблему что после перезагрузки мода путем вызова функции GameModeExit(), при повторной загрузке мода, как-то не корректно проходит получение данных с базы, например при логине игрока загружаются не все заданные поля путем mysql_fetch_field_row()
в логе до определенного момента нормально
...
[22:59:25] CMySQLHandler::FetchField("pLevel") - 21
а потом идет
[22:59:25] CMySQLHandler::FetchField("pLocal") -
[22:59:25] CMySQLHandler::FetchField("pInt") -
и так далее.
Когда убираю из OnGameModeExit(), mysql_close();
то после вызова GameModeExit() и последующей загрузки мода снова, всё нормально. Но это не вариант, т.к. должен происходить дисконект от базы при выходе из мода.
В чем может быть причина?
Reply
#2

Дисконект если вдруг будет другое соединение, в любом случае будет происходит по таймауту. Соединение в данном случае можно и не закрывать.
Reply
#3

А, если я хочу завершить работу сервера путем ввода exit в консоль? Соединение-то нужно закрыть иначе плагин не выгрузится.
Reply
#4

Quote:
Originally Posted by Lamp27
Посмотреть сообщение
А, если я хочу завершить работу сервера путем ввода exit в консоль? Соединение-то нужно закрыть иначе плагин не выгрузится.
Выгрузится. Плагины принудительно выгружаются при завершении процесса сервера.
Reply
#5

Попробуй подключиться к базе, в OnGameModeExit() не прописывать дисконнект от базы и ввести в консоль exit
Reply
#6

Quote:
Originally Posted by Lamp27
Посмотреть сообщение
Попробуй подключиться к базе, в OnGameModeExit() не прописывать дисконнект от базы и ввести в консоль exit
У меня во всех разработках, которые я поддерживаю, отсутствует дисконект от бд ввиду отсутствия потребности в нем, и все прекрасно и абсолютно стабильно работает.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)