读书人

在VC上能否通过数组或链表来提高WinPc

发布时间: 2012-09-10 22:20:12 作者: rapoo

在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

读书人网 >VC/MFC

热点推荐