其實給Unrealircd增加Mysql資料庫的支援的工作還是比較繁瑣的,分别需要做編譯配置增加,h頭檔案,mysql操作處理檔案,以及操作調用等方面的工作,下面分别做一介紹。
一、增加mysql操作處理檔案
二、定義全局連接配接變量以備調用
請打開include\h.h檔案,在最後增加下面代碼:
extern MODVAR MYSQL *my_conn;
extern MYSQL *my_mysql_connect();
extern int my_mysql_insert(MYSQL *my_conn, char *query);
extern int my_mysql_delete(MYSQL *my_conn, char *query);
extern int my_mysql_update(MYSQL *my_conn, char *query);
extern MYSQL_RES *my_mysql_select(MYSQL *my_conn, char *query);
extern int my_mysql_ping(MYSQL *my_conn);
extern EVENT(check_mysql_conn);
其中第一行,定義一個全局的mysql連接配接變量,因為系統起動,隻需要與mysql伺服器建立一個連接配接,而不是在使用mysql的時候再去建立連接配接,這樣效率肯定不高。
第二行連接配接mysql的函數,三至六行分别執行mysql的增删改查操作,傳回值0成功,非0為不成功,第7行定義一個向mysql連接配接ping的方法,因為mysql連接配接在預設的48小時(具體值記不清)無操作後會自動斷開,這顯然不能滿足我們的要求,我們需要的是一個一直不間斷的連接配接,是以我們會定時向mysql伺服器發送ping指令,以表示此連接配接為活動連接配接,不要斷開。最後一行則是向unrealircd添加了一個定時執行的任務方法,它會不間斷的定時發送ping指令。
關于資料庫操作的代碼已經在上面下載下傳的mysql.c檔案中完成。
本文轉自 OldHawk 部落格園部落格,原文連結:http://www.cnblogs.com/taobataoma/archive/2007/04/14/713403.html,如需轉載請自行聯系原作者