首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

在VC上能否通过数组或链表来提高WinPcap的写操作速度

2012-09-10 
在VC下能否通过数组或链表来提高WinPcap的写操作速度?为了解决丢包的问题,提高写操作速度,可否用数组或链

在VC下能否通过数组或链表来提高WinPcap的写操作速度?
为了解决丢包的问题,提高写操作速度,可否用数组或链表来代替读一次写一次?
代码如下:
UINT ThreadReadData(LPVOID ThreadArg)
{
CDemoDlg* pDemoDlg = (CDemoDlg*)ThreadArg;
int k = 0;
ofstream ofs("X.dat", ios::app|ios::binary);

while(g_bRun)
{
//AfxMessageBox(_T("读取线程开始"));
pDemoDlg->m_DataRecv.GetData((u_char*)&pDemoDlg->m_RecvData, k);

if (g_bSaveData)
{
ofs.write((char*)&pDemoDlg->m_RecvData, k);
//ofs.write((char*)&pDemoDlg->m_RecvData, 10);
ofs.flush();
}

//Sleep(1);
}

ofs.close();
return 0;
}

[解决办法]
不要收到后就直接write,而是放到一个List等中,然后由另一个线程来慢慢写。
当前线程就不停地读取,然后push到List

热点排行