配置項和配置項變數相對應
例如:server.conf
pasv_enable=yes
port_enable=yes
listen_port=
5188
max_clients=
2000
max_per_ip=
2accept_timeout=
60connect_timeout=
60idle_session_timeout=
300data_connection_timeout=
900local_umask=
077upload_max_rate=
102400
download_max_rate=
204800
listen_address=
192.168
.1.108
根據配置項的資料型別來定義出對應表
extern
int tunable_pasv_enable;
//是否開啟被動模式
extern
int tunable_port_enable;
//是否開啟主動模式
extern
unsigned
int tunable_listen_port;
//ftp服務埠
extern
unsigned
int tunable_max_clients;
//最大連線數
extern
unsigned
int tunable_max_per_ip;
//每個ip最大連線數
extern
unsigned
int tunable_accept_timeout;
//accept超時時間
extern
unsigned
int tunable_connect_timeout;
//connect超時時間
extern
unsigned
int tunable_idle_session_timeout;
//控制連線超時時間
extern
unsigned
int tunable_data_connection_timeout;
//資料連線超時時間
extern
unsigned
int tunable_local_umask;
//掩碼
extern
unsigned
int tunable_upload_max_rate;
//最大上傳速度
extern
unsigned
int tunable_download_max_rate;
extern
const
char
*tunable_listen_address;
//伺服器ip位址
可以將配置項資訊要跟所對應的變數相對應的關係設計表,通過查詢表中的字串,找到相對應的配置項,就可以將資料儲存到配置項中,如下:
//找到表中相對應的配置名稱,然後將配置資訊儲存到相對應的變數中
//字串 布林 unsigned int 三個**
static
struct parseconf_bool_setting
parseconf_bool_array=
,,};
static
struct parseconf_uint_setting
parseconf_uint_array=
,,,,
,,,,
,,};
static
struct parseconf_str_setting
parseconf_str_array=
,};
通過設計好的表寫處理函式處理配置命令
開啟配置檔案,按行讀取,處理該行
void
parseconf_load_file
(const
char
*path)
//載入配置檔案
char setting_line[
1024]=
;while
(fgets
(setting_line,
sizeof
(setting_line)
,fp)
!=null
)//去除\r\n
str_trim_crlf
(setting_line)
;//將相應的配置資訊儲存到對應的
parseconf_load_setting
(setting_line)
;//再獲取下一行
memset
(setting_line,0,
sizeof
(setting_line));
}fclose
(fp)
;}
處理一行配置資訊,如idle_session_timeout=300這樣的形式,通過key=value,從結構體中name對應找到配置資訊,然後將value放入
void
parseconf_load_setting
(const
char
*setting)
//將配置項載入到相應的變數
//解析出key--value
char key[
128]=;
char value[
128]=;
str_split
(setting,key,value,
'=');if
(strlen
(value)==0
)
· //字串型表
*p_cur_setting =
strdup
(value)
;//就指標指向value,先申請記憶體,然後將value拷貝到裡面
return
;}
p_str_setting++;}
}//bool型別表
elseif(
strcmp
(value,
"no")==
0||strcmp
(value,
"false")||
strcmp
(value,
"0")==0
)else
return
;}
p_bool_setting++;}
}else
return;}
p_uint_setting++;}
}
通過測試確認這樣的做法時正確的. 關於JQUERY傳遞引數的有關問題
關於jquery傳遞引數的問題 大家好,小弟我想問個問題 場景 乙個頁面上面有2個按鈕,兩個按鈕名稱分別是資料庫裡面的資訊名稱,我希望通過點選這兩個按鈕,可以獲取對應的資料庫資訊在下方的div層中顯示,目前已經可以將該按鈕的值給到jquery中,操作如下 對應的標籤資訊 for 迴圈 紅色標註的就是...
有關記憶體的常用配置引數
來指定這個比列。server端jvm最好將 xms和 xmx設為相同值,避免每次垃圾 完成後jvm重新分配記憶體,也可以減少垃圾 次數 開發測試機jvm可以保留預設值。例如 xms4g xx minheapfreeration 來指定這個比列。最佳設值應該視物理記憶體大小及計算機內其他記憶體開銷而定...
關於日誌模組的設計
目錄 1 使用技術以及外部框架 12 詳細描述 12.1 概況.12.1.1 記錄的內容 12.1.2 日誌記錄的位置及相應的內容 22.1.3 日誌的型別 22.1.4 日誌功能的配置 32.1.5 配置節類的用法 112.2 資料庫日誌 122.3 檔案日誌 132.3.1 記錄方式 132.3...