一个关于 recv 阻塞的问题 求高手!!!
我用c++ 通过socket 做一个发送邮件的程序 通过esmtp实现的
程序可以 链接上smtp服务器
当程序链接上服务器的时候 服务器就会返回一个字符串 如下 (末尾有换行)
"220 irja2-171.sinamail.sina.com.cn ESMTP
"
以上的字符串可以通过调用 recv正常接受 (第一次调用recv)
但是当我发送 EHLO XXXXX@sina.com 后 再次调用 recv 的 时候就进入阻塞了 (我在 telnet 是可以正常就是的)
int SendMail::RcvServMsg(void){ char buf[BUFSIZE] = {0}; if(::recv(this->iSocket,buf,sizeof(buf),0) == -1) {//接受服务器的回馈数据失败 ::closesocket(this->iSocket); this->bConn = false; return SM_RCV_INFO_FAILD; } this->sRcvReturnMsg.assign(buf); ::memcpy(this->cCode,buf,3); this->cCode[3] = 0; return 0;}