我不知道怎么用BYTE类型的设置包头包尾。
这是发送端:是我点击按钮的时候触发的;
file.Open(m_strSendpath,CFile::modeRead | CFile::typeBinary;
char *lpBuf = new char[4096];
memset(lpBuf,0,4096);
while (1)
{
nLen = file.Read(lpBuf,4096); if (nLen == 0)
{
break;
}
if (m_nRadio == 0)
{
nSend = m_ClientSocket.Send(lpBuf,nLen); //GetLength 返回字符的个数
}
else if (m_nRadio == 1)
{
nSend = m_ServerSocket.m_pClientSocket->Send(lpBuf,nLen);
}
nEnd += nSend;
if (nLen > 0)
{
file.Seek(nEnd,CFile::begin);
}
}接收端是在Onreceive里触发的,接收端是这样的:
while (1)
{
if (m_pBuf != NULL )
{
delete []m_pBuf;
}
m_pBuf = new char [4096];
ZeroMemory(m_pBuf, sizeof(char) * 4096);
int iLen = Receive(m_pBuf, sizeof(char) * 4096);
if (iLen ==0)
{
break;
}
if (n_FileSize ==0)
{
m_file.Open(m_strRecvName,CFile::modeReadWrite);
n_FileSize = 1;
}
m_file.Write(m_pBuf,iLen);
}
这样不知道为什么图片显示的不全;
谁知道怎么设置包头包尾啊,最后怎么解析出来,希望能给点例子啊,如果以前有人做过,最好给我发一份,多谢了,我是初学。希望大家帮帮我。
这是发送端:是我点击按钮的时候触发的;
file.Open(m_strSendpath,CFile::modeRead | CFile::typeBinary;
char *lpBuf = new char[4096];
memset(lpBuf,0,4096);
while (1)
{
nLen = file.Read(lpBuf,4096); if (nLen == 0)
{
break;
}
if (m_nRadio == 0)
{
nSend = m_ClientSocket.Send(lpBuf,nLen); //GetLength 返回字符的个数
}
else if (m_nRadio == 1)
{
nSend = m_ServerSocket.m_pClientSocket->Send(lpBuf,nLen);
}
nEnd += nSend;
if (nLen > 0)
{
file.Seek(nEnd,CFile::begin);
}
}接收端是在Onreceive里触发的,接收端是这样的:
while (1)
{
if (m_pBuf != NULL )
{
delete []m_pBuf;
}
m_pBuf = new char [4096];
ZeroMemory(m_pBuf, sizeof(char) * 4096);
int iLen = Receive(m_pBuf, sizeof(char) * 4096);
if (iLen ==0)
{
break;
}
if (n_FileSize ==0)
{
m_file.Open(m_strRecvName,CFile::modeReadWrite);
n_FileSize = 1;
}
m_file.Write(m_pBuf,iLen);
}
这样不知道为什么图片显示的不全;
谁知道怎么设置包头包尾啊,最后怎么解析出来,希望能给点例子啊,如果以前有人做过,最好给我发一份,多谢了,我是初学。希望大家帮帮我。
http://download.csdn.net/detail/geoff08zhang/4571358
没有Cansyncsocket的例子啊,呜呜