日期:2014-05-19  浏览次数:21358 次

断点调试正确,不设断点就出错
用递归方法下载FTP上整个目录时,在
///   <summary>
///   发送命令并获取应答码和最后一行应答字符串
///   </summary>
///   <param   name= "strCommand "> 命令 </param>
private   void   SendCommand(String   strCommand)
{
Byte[]   cmdBytes   =  
Encoding.ASCII.GetBytes((strCommand+ "\r\n ").ToCharArray());
socketControl.Send(cmdBytes,   cmdBytes.Length,   0);
ReadReply();
}
这个方法内不设断点的话就出错,
在ReadReply()中会修改一个全局变量strReply,不设断点这个变量的值就不正确造成程序出错.
这是什么原因?
自己没写过Socket方面的东西,都是网上抄来的代码.

------解决方案--------------------
被占用,没能及时释放
------解决方案--------------------
//这样看看

socketControl.Send(cmdBytes, cmdBytes.Length, 0);
Thread.Sleep(100);
Application.DoEvent();
ReadReply();