解决方案 »
- 关于高精度定时器QueryPerformanceFrequency()
- 为啥调试WINDOWS程序的时候不能在断点处停下?
- 高手们 帮忙看一下 我这个程序 产生随机数 先滤波,滤波后的数据在画图,为什么程序会崩溃
- 这俩错误怎么调啊??急急急急。。。
- 用SOCKET 写的程序,只能成功接收到TXT文件,如果传输RAR等其他文件,则显示不能预料的压缩文件未端
- OnTimer只触发一次可能的原因是什么?
- VC++怎样用热键实现网络的切断与联通?
- 如何实现图元的半透明叠加?
- 用VC向Oracle写BLOB字段的问题
- CxImage读取显示jpg文件的问题
- 求教粘贴板使用方法
- 怎样在Edit box控件上设置背景色
int iStatus = 0,nRet;
int readbuflen = 1024;
void szReadBuf;
DWORD dwContentLength,dwStatusCode;
while (TRUE)
{
if(m_pSocket.m_hSocket != NULL)
m_pSocket.Close();
m_pSocket.Create();
m_pSocket.Connect(m_strServer, m_nPort);
strSend = strVerb + m_strObject + " HTTP/1.1\r\n";
strSend += "Host: " + m_strServer + "\r\n";
strSend += "Accept: */*\r\n";
strSend += "Pragma: no-cache\r\n";
strSend += "Cache-Control: no-cache\r\n";
if( !m_strReferer.IsEmpty() )
strSend += "Referer: " + m_strReferer + "\r\n";
strSend += "Connection: close\r\n";
strRange = "Range: bytes=100-\r\n";
strSend += strRange;
//必须要加一个空行,否则Http服务器将不会应答
strSend += "\r\n";
int ret = m_pSocket.Send(strSend.GetBuffer(0), strSend.GetLength());
strSend.ReleaseBuffer();
szReadBuf = malloc(readbuflen);
if(szReadBuf == NULL) break;
ZeroMemory(szReadBuf,1024);
while(readbuflen > 0) //最大接收1024
{
ret = m_pSocket.Receive((char *)szReadBuf + (1024 - readbuflen), readbuflen);
if( szReadBuf[0] == '\0' ) // We have encountered "\r\n\r\n"
break;
readbuflen -= ret; if( iStatus == 0)
strHeader += "\r\n";
}
nRet = GetInfo(strHeader,dwContentLength,
dwStatusCode,m_TimeLastModified);/////////这一句做相应的修改
不然你收到的数据肯定是正确的
期待接分
接完要用zlib解压一下
貌似VC6对乱码不解释