资源简介
该版本为20150108最新版,修复了发现的多个BUG,并且添加了部分新特性(详见工程内的ReadMe)。资源分是为了大家能在下载后,给点评论,不管是好的还是坏的;建议或者是提交BUG都可以。
IOCP_API网络开发库的最新升级版测试程序(非源码);提供测试Demo和详尽的编码使用代码;可用于测试网络性能和评估IOCP_API开发库的功能;其中传统TCP和UDP服务器和客户端经过较为严格的测试,Channel相关的功能仅简单测试,没有严格测试;突出特点是包含了一个ADO连接池,通常服务程序都与数据库关联,包含此连接池的目的就是为了方便在编写服务程序的同时,不用过多的关心数据库连接相关的部分。
代码片段和文件信息
// Demo.cpp : 定义应用程序的类行为。
//
#include “stdafx.h“
#include “Demo.h“
#include “DemoDlg.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// 唯一的一个 CDemoApp 对象
CDemoApp theApp;
BOOL CDemoApp::InitInstance()
{
Startup();
// 如果一个运行在 Windows XP 上的应用程序清单指定要
// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
//则需要 InitCommonControlsEx()。否则,将无法创建窗口。
INITCOMMONCONTROLSEX InitCtrls;
InitCtrls.dwSize = sizeof(InitCtrls);
// 将它设置为包括所有要在应用程序中使用的
// 公共控件类。
InitCtrls.dwICC = ICC_WIN95_CLASSES;
InitCommonControlsEx(&InitCtrls);
CWinApp::InitInstance();
if (!AfxSocketInit())
{
AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
return FALSE;
}
// 标准初始化
// 如果未使用这些功能并希望减小
// 最终可执行文件的大小,则应移除下列
// 不需要的特定初始化例程
// 更改用于存储设置的注册表项
// TODO: 应适当修改该字符串,
// 例如修改为公司或组织名
SetRegistryKey(_T(“应用程序向导生成的本地应用程序“));
CDemoDlg dlg;
m_pMainWnd = &dlg;
INT_PTR nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: 在此处放置处理何时用“确定”来关闭
// 对话框的代码
}
else if (nResponse == IDCANCEL)
{
// TODO: 在此放置处理何时用“取消”来关闭
// 对话框的代码
}
// 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序,
// 而不是启动应用程序的消息泵。
return FALSE;
}
int CDemoApp::ExitInstance()
{
Cleanup();
return CWinApp::ExitInstance();
}
BOOL CDemoApp::Startup()
{
XUtil::UnhandledException(this);
Initialize(4 8 1000 10000);
return TRUE;
}
BOOL CDemoApp::Cleanup()
{
UnInitialize();
return TRUE;
}
// SEH处理
BOOL CDemoApp::IsWriteDump(VOID)
{
return TRUE;
}
CHAR* CDemoApp::GetFileName(VOID)
{
static TCHAR szPath[MAX_PATH];
ZeroMemory(szPath sizeof(szPath));
GetModuleFileName(NULL szPath sizeof(szPath));
lstrcpy(szPath “.dmp“);
return szPath;
}
LONG CDemoApp::OnDumpComplete(VOID)
{
return EXCEPTION_EXECUTE_HANDLER;
}
//数据库连接池测试
RetCode CDemoApp::TestDb(VOID)
{
//创建数据库连接池
ADOPool *pool = XUtil::CreatePool(1 2 “Provider=OraOLEDB.Oracle.1;Data Source=EQUANT;User ID=nyg;Password=nyg“);
//从池中获得一个数据库连接
ADOConnection *pConn = pool->CreateConn();
//获得记录集和命令对象
ADORecordset *rs = pConn->CreateRecordSet();
ADOCommand *cmd = pConn->CreateCommand();
//设置命令参数并执行命令
cmd->SetType(ADOCommand::typeCmdText);
cmd->SetText(“select currprice from nyg_rb1405_1min“);
rs->Execute(cmd);
//获得记录数
int count = rs->GetRecordCount();
//获取记录集
double price = 0;
rs->MoveFirst();
while(!rs->IsEOF())
{
rs->GetFieldValue(“currprice“ price);
rs->MoveNext();
}
//释放记录集对象和命令对象
pConn->ReleaseRecordSet(rs);
pConn->ReleaseCommand(cmd);
//回收数据库连接
pool->CloseConn(pConn);
//销毁连接池
XUtil::DestoryPool(pool);
return RET_ESUC;
}
RetCode CDemoApp::TestLogger(VOID)
{
// 创建日志对象
ILogger *pLogger = XUtil::CreateLogger(“C:\\Users\\Administrator\\Desktop\\IOCP_API(2.4)\\bin\\Debug\\log“);
// 设置日志级别
pLogger->SetLevel(LOG_ERROR);
int count = 10000;
while (--count > 0)
{
// 写日志
pLogger->LogI(“count=%d\n“ count);
pLogger->LogW(“count=%d\n“ count);
pLogge
- 上一篇:IOCP_API最新版(2008/11/15)
- 下一篇:iOS截屏相关头文件
相关资源
- IOCP_API最新版(2008/11/15)
- 会员管理系统之用户登陆和会员管理
- Cloudera Manager安装部署
- vs连接postgre
- Adodc控件的属性详解
- vivado2018 SRIO License
- Vivado2018.3_license
- hiveAuth.zip
- Hadoop3.1.x_Windows环境整合依赖.rar
- readonline.caa
- atguigu-Hadoop.txt
- vivado license 兼容2015-2017版本
- ado.h ado.cpp
- hadoop-2.7.1.tar.gz centos 64位
- Vivado+2017.4+license
- 基于VHDL的vivado2017.4初学者教程对应工
- hadoop-2.7.7 windows配置需要的bin文件
- hadoop2.9.1编译
- winutils.exe_hadoop-2.7.1
- Vivado2018.1及license,亲测可用
- xilinx jesd204b license
- Hadoop倒排索引程序
- Hadoop权威指南第四版_中文版本_pdf高清
- vivado license 许可证,有效期到2037年!
- xilinx vivado SRIO license
- 可以承载20k并发量的IOCP
- vivado_license 2018.3
- vivado 蜂鸣器
- hadoop的winutils.exe及dll文件
- 最新vivado2019版本,win和linux都有,安
评论
共有 条评论