各位大虾:
    小弟在做点对多点下载文件时,服务端如下发送文件:
while(len1>0)            //len1是文件剩余长度;
{
len2= len>1024?1024:len;        //len2是缓冲区长度;
dnfile.Read (s,len2);
ret= send(client,s,len2,0);
if(ret<0)
{
closesocket(client);
dlg->m_listbox .AddString ("发送文件到客户端出错");
break;
}
len1 = len1-ret;
len = len-ret;                  //len是文件剩余长度
if(len1==0)
{
closesocket(client);
dnfile.Close ();
dlg->m_listbox .AddString ("文件传输结束,请关闭socket!");
}
}客户端如下:
   //socket网络事件响应函数
switch(lParam)
{
case FD_READ:
      if (m_filesize>0)
      {
bufsize = m_filesize>BUFFSIZE?BUFFSIZE:m_filesize;
ret = recv(m_sclient,buf,bufsize,0);
if(ret<0)
{
  myfile.Close ();
  closesocket(m_sclient);
           this->m_listbox .AddString ("传输出错,请重新下载!!");
  return;
}
myfile.Write ((const void *)buf,ret);
m_filesize -=ret;
return;
      }
      m_state = 'E';    //文件接收完毕;状态字:'E'
      this->m_listbox .AddString ("文件接收完毕");
      myfile.Close ();
      return;
....
}问题是:为什么文件传输过程中,经常性的出现异常??即使C/S端都在本机上,也十有三四的出问题,客户端换成其它机子,出问题的几率更高。当传送小型的.txt文件时才不太出错.各位大虾能斑斑小弟吗?谢谢了!!!!!!