⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 manager.cpp

📁 用socket++,zthread,occi开发的连数据库处理业务的网络中间件服务器程序
💻 CPP
字号:
#include "workthread.h"#include "inifile.h"using namespace std;using namespace ZThread;using namespace oracle::occi;int main(int argc, char **argv) {	SockQueue queue(new TQueue<iosockinet*>);	sockinetbuf sin(sockbuf::sock_stream);	IniFile ini;	if(!ini.open("manager.ini"))		return -1;	const string username = ini.read("db","username");	const string passwd = ini.read("db","passwd");	const string connectString = ini.read("db","database");	 if(username.empty()&&passwd.empty()&&connectString.empty())		        return -1;		unsigned int maxCon = atoi((ini.read("db","maxCon")).c_str());	unsigned int minCon = atoi((ini.read("db","minCon")).c_str());	unsigned int incrCon = atoi((ini.read("db","incrCon")).c_str());	unsigned int threadNum = atoi((ini.read("manager","threadNum")).c_str());		unsigned int port = atoi((ini.read("manager","port")).c_str());	Environment *env = Environment::createEnvironment ("ZHS16GBK", "UTF8");	StatelessConnectionPool *scp =env->createStatelessConnectionPool(username,			passwd, connectString, maxCon, minCon, incrCon,			StatelessConnectionPool::HOMOGENEOUS );	if (scp)		cout << "SUCCESS - StatelessConnectionPool"<< endl;	else		cout << "FAILURE - StatelessConnectionPool"<< endl;	sin.bind(port);	cout << "localhost = "<< sin.localhost() << endl;	cout << "localport = "<< sin.localport() << endl;	sin.listen();	ThreadedExecutor executor;	for (int i = 0; i < threadNum; i++)		executor.execute(new Worker(queue,i,scp));	for (;;)	{		iosockinet *sock;		sock = new iosockinet (sin.accept ());		sockaddr_in *remote_sock = sock->rdbuf()->peeraddr().addr_in();		//cout << "socksockaddr_in.addr() = " << remote_sock << endl;		//cout << "port: " << ntohs(remote_sock->sin_port) << endl;		//cout << "addr: " << hex << inet_ntoa(remote_sock->sin_addr) << endl;		//cout << "peerhost: " << sock->rdbuf()->peerhost() << endl;		queue->put(sock);	}	//env->terminateStatelessConnectionPool(scp);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -