AMX MOD X
Среда, 11.12.2024, 02:48:52



Приветствую Вас Гость | RSS
[ Главная ] [ виснуки при обращении к базе - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
виснуки при обращении к базе
xaxexaДата: Среда, 13.05.2009, 23:57:02 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 11
Репутация: 0
Статус: Не в сети
вопщим писал писал плугин, вроде как, ни без вашей помощи, наковырял :)

и трабла обнаружилась

плагин при коннекте игрока
делает запрос (логин пас флаги и тд типа админ.амхх только измененный)

патом после проверок на пасы логины флаги и тд делаеться еще запрос и одновременной с ним записываются пара данных

АНД при логауте тоже производиться запись

также плагин какиет игрока при обстоятельствах...

юзал подключение к мускулу вот так

new table[32], error[128], type[12], errno

new Handle:info = SQL_MakeStdTuple()
new Handle:sql = SQL_Connect(info, errno, error, 127)

get_cvar_string("amx_sql_table", table, 31)
SQL_GetAffinity(type, 11)

new Handle:query

query = SQL_PrepareQuery(sql, "SELECT и тд")

SQL_FreeHandle(query)
SQL_FreeHandle(sql)
SQL_FreeHandle(info)

что значат 3 последние строки чтото нипайму...

и насколько я понимаю (и это видно по логам mysql) при каждом запросе идет подключение к базе как отнего избавиться? и избавиться от закрытия коннекта

типа 1 раз приконектился и ссоединене юзается а когда мапа или сервер офф оно отклюючается

тестил 1 компом бегаю по карте

другим конекчусь, и в момент запроса к базе на сервере все замерзает, почти каждый раз...

Сообщение отредактировал xaxexa - Среда, 13.05.2009, 23:57:40
 
slogicДата: Четверг, 14.05.2009, 20:32:07 | Сообщение # 2
Генералиссимус
Группа: Админы
Сообщений: 1941
Репутация: 47
Статус: Не в сети
Неблокирующие запросы возможны только с пом. SQL_ThreadQuery(). Но она каждый раз создает соединение.

Quote (xaxexa)
и насколько я понимаю (и это видно по логам mysql) при каждом запросе идет подключение к базе как отнего избавиться?

в plugin_init() делай подключение, а в plugin_end() отключайся. как поймать timeout со стороны мускула я не в курсе. надо делать исследования.
 
xaxexaДата: Пятница, 22.05.2009, 22:11:52 | Сообщение # 3
Рядовой
Группа: Пользователи
Сообщений: 11
Репутация: 0
Статус: Не в сети
:) может ктонить пример начиркает B) на SQL_ThreadQuery как юзать то ее, а то с англ не оч не недоганяю (

Добавлено (2009-05-22, 10:11 Pm)
---------------------------------------------
ап :)

 
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2024