12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- #include <log.h>
- #include <net-service.h>
- #include "IniFile.h"
- #include "db_api/CDBConnPool.h"
- #include "websocket/wsClientMgr.h"
- #include "websocket/wsTimerThread.h"
- #include "card.h"
- #include "ant.h"
- #include "card_path.h"
- struct Init_Setting
- {
- void init()
- {
- YADB::_DB_POOL_SETTING_ DBSetting;
- log_init("../dist/etc/log.ini");
- IniFile ini;
- ini.open("./config.ini");
- std::string url=ini.readString("SERVER_SETTING","websocket_url","");
- int32_t send_interval = ini.readInt("SERVER_SETTING","interval_send_json_postion",1);
- //std::string url_bak=ini.readString("SERVER_SETTING","websocket_url_bak","");
- DBSetting.Host = ini.readString("DB","host","");
- DBSetting.User = ini.readString("DB","user","");
- DBSetting.PWD = ini.readString("DB","password","");
- DBSetting.DBName = ini.readString("DB","dbname","");
- DBSetting.CharSet = ini.readString("DB","utf8","");
- DBSetting.TimeOut = 5;
- DBSetting.PoolSize = 10;
- std::vector<std::string> url_list;
- url_list.push_back(url);
- //init websocket
- wsClientMgr_init(std::move(url_list),send_interval);
- #define sDBConnPool singleton_CDBConnPool::get_mutable_instance()
- _mysql_init(DBSetting);
- }
- void _mysql_init(YADB::_DB_POOL_SETTING_ &dps)
- {
- std::string Error;
-
- //创建连接池
- if ( !sDBConnPool.Create( dps, Error ) )
- {
- printf("线程池创建失败,Err=%s\n", Error.c_str());
- return;
- }
- }
- void wsClientMgr_init(std::vector<std::string>&&uri_list,int32_t st)
- {
- std::map<std::string, YA::MSG_HANDLE_FUNC_TYPE> MsgFuncList;
-
- //MsgFuncList.insert( std::make_pair( "req_all_data", On_req_all_data ) );
- //MsgFuncList.insert( std::make_pair( "req_all_person_on_car", On_req_all_person_on_car ) );
-
- swsClientMgr.Build( uri_list, MsgFuncList );
-
- //连接服务器
- if ( swsClientMgr.connect() != 0 )
- {
- std_error("web socket init failed.");
- return;
- }
-
- //登录
- swsClientMgr.login();
- //init thread...
- YA::_THREAD_CONFIG_ Config;
- Config.SendInterval = st;
- swsTimerThrd.Init( Config );
- swsTimerThrd.Start();
- }
-
- };
- int main()
- {
- Init_Setting is;
- log_init("../dist/etc/log.ini");
- //init log sql websockt.
- // is.init();
- log_info("herer..init from db...");
- sit_list::instance()->load_from_db();
- card_list::instance()->init_card_from_db();
- card_path cp;
- cp.init(*sit_list::instance());
- net_service mh;
- service_handle::instance(&mh)->run(4000);
- return 0;
- }
|