关于recv函数,接收数据?

Link_ 2011-10-17 09:23:29
  CStdioFile myFile;
CFileException fileException;
CString str1;
if (myFile.Open(_T("D:\\a.txt"),CFile::modeReadWrite | CFile::typeText))
{
CStdioFile file( _T("D:\\b.txt"),CFile::modeCreate| CFile::modeWrite | CFile::typeText);
myFile.SeekToBegin();
while (myFile.ReadString(str1))
{
BSTR bstr;
bstr = str1.AllocSysString();
// wchar_t sendBuf[50] = L"lljt&tm";
int len = SysStringByteLen(bstr);
send(clientSock,(char *)bstr,len+1,0);
}
}
上面是客服端我发送文件数据的代码,下面的是服务端接收文件数据的代码
char recvBuf[1024];  
while (int nCount = recv(sockConn,recvBuf,1024,0))
{
recvBuf[nCount]='\0';
sTmp.Format(_T("%s"),recvBuf);
CStdioFile file( _T("D:\\b.txt"),CFile::modeCreate| CFile::modeWrite | CFile::typeText);
file.WriteString(sTmp);
file.WriteString(_T("\n\r"));
m_ServerEdit.SetWindowText(sTmp);
}
现在问题是为什么 服务端好像没有接收完客服端的数据,在b.txt文件只写了一行数据,情高手们解惑哦,情大侠们完善下我得代码,在次先谢谢了
...全文
136 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Link_ 2011-10-17
  • 打赏
  • 举报
回复
CFile::modeCreate不能用,你用就每次都创建了。
CStdioFile file( _T("D:\\b.txt"),CFile::modeCreate| CFile::modeWrite | CFile::typeText);
放到while前面吧,

照LZ得帮助做了,还有个问题 上面的代码 服务端收到数据后 写入b.txt文件 还是只有一行哦 怎么确定收到数据的大小呢 还望大侠们耐心给予解答
jiuzhoulh 2011-10-17
  • 打赏
  • 举报
回复
1楼正解
lijianli9 2011-10-17
  • 打赏
  • 举报
回复
CFile::modeCreate不能用,你用就每次都创建了。
CStdioFile file( _T("D:\\b.txt"),CFile::modeCreate| CFile::modeWrite | CFile::typeText);
放到while前面吧,
lijianli9 2011-10-17
  • 打赏
  • 举报
回复
CFile::modeCreate不能用,你用就每次都创建了。
CStdioFile file( _T("D:\\b.txt"),CFile::modeCreate| CFile::modeWrite | CFile::typeText);
放到while前面吧,

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧