我这里借用的一个邮件发送程序(公司内网)时,碰到一个问题,在安装了VC++编译器的机器上发送邮件时,可以发送成功,
但是在没VC环境的机器上邮件就发送不出去了,我在静态库下编译的程序,相关部分代码如下:int er; // 接受send或receive的返回值 //发送helo命令
er = sock->Send(serv,serv.GetLength(),0);
if(!IsSocketError(er)) // 判断发送helo命令是否成功
{
return FALSE;
} //成功返回250
int   nthis = 0; // 本次接受到的字节数
int   nthisRec  = 0; // 还应接受多少字节数
char* receiv  = NULL;
receiv = new char[350]; // 申请接受ehlo命令后的响应信息空间
char* Lprec = NULL;
Lprec = receiv;
er = sock->Receive(receiv, 350, 0);
if(!IsSocketError(er)) // 判断接受信息是否成功
{
return FALSE;
}
AfxMessageBox(receiv); // 查看接收到的信息 receiv += er;
while(er < 335) // 接受的信息不够,循环进行接受
{
nthisRec = 350 - er;
nthis = sock->Receive(receiv, nthisRec, 0);
er += nthis;
receiv += nthis;
if(!IsSocketError(nthis)) // 判断接受信息是否成功
{
return FALSE;
}
}我在自己器上上调试时,发现程序就没有进入while 循环;在没有VC环境的机器上,运行程序,程序就死在while循环里了,请问高手这是怎么回事呢?