慧星要撞地球了?这几行代码出这么大的错。。急!!!!!
哟西哟西地 2003-12-04 01:21:07 在另一个CPP中AfxBeginThread
QUERY_INFO为一个结构。
线程的上的是连接到一个WEB服务器的80端口。
UINT STARTThread(LPVOID lParam)
{
QUERY_INFO *qInfo=(QUERY_INFO *)lParam;
CSocket socket;
if(!socket.Create())
{
AfxMessageBox("创建套接字错误,无法完成请求!");
::PostMessage(qInfo->hWnd,START_QUERY_ERROR,0,0);
return 0;
}
if(!socket.Connect("61.152.11.10",80))
{
AfxMessageBox("连接到服务器失败!无法完成请求!");
::PostMessage(qInfo->hWnd,START_QUERY_ERROR,0,0);
return 0;
}
.....................
.....................
if(socket.Send(sendQuest,strlen(sendQuest))==SOCKET_ERROR)
{
AfxMessageBox("发送请求失败!");
::PostMessage(qInfo->hWnd,START_QUERY_ERROR,0,0);
return 0;
}
===========================================以上均无错
CString strReceive;
BOOL bStartHtml=FALSE;
byte *recBuf=new byte[1024];
while(1)
{
//byte *recBuf=new byte[1024];
int recLen;
memset(recBuf,0,1024);
recLen=socket.Receive(recBuf,1024);
if((recLen>0)&&(recLen!=SOCKET_ERROR))
{
if(!bStartHtml)
{
for(int i=0;i<recLen;i++)
{
if(recBuf[i]!='<')
recBuf[i]=' ';
else
{
bStartHtml=TRUE;
break;
}
}
}
recBuf[recLen]='\0';
strReceive+=(CString)recBuf;
}
else;
break;
//delete recBuf;
}
delete[] recBuf==============>一执行到这一步时就出错:
Debug Error:
DAMAGE:after normal block(#304)at 0x00346f08
我只是想释放new开的堆空间,为什么出这么大的错?如果注掉这一句就没事了。
我晕。从没遇到过。为了这错误我整整花了一天的时间还没结果。。。。
急!!!!!!!!!!!!!!!!!!!!