socket 调试,运行结果不一致,调试正确,运行错误
看着捉急 2012-10-23 09:35:20 我写了个简单的telnet客户端程序,登录Unix服务器,调试,运行结果不一致,调试正确,运行错误,郁闷啊,求高手指教,程序部分代码:
for (; ;)
{
TELNET tel;
Telnet telnet = &tel;
telnet->state = TOP_LEVEL;
telnet->s = hSocket;
int readBytes = ReadSocket(hSocket, pReadBuff);
do_telnet_read(telnet, pReadBuff, &readBytes);
if (0 != readBytes)
{
printf("%s", pReadBuff);
std::string s(pReadBuff);
if (std::string::npos != s.find("login:"))
{
bLogin = true;
}
}
if (bLogin)
{
// memset(pReadBuff, 0, 10240);
send(hSocket, pWriteBuff, strlen(pWriteBuff), 0);
int ret = recv(hSocket, pReadBuff, 10240, 0);
pReadBuff[ret] = 0;
ret = 0;
printf("%s", pReadBuff);
memset(pReadBuff, 0, 10240);
send(hSocket, pWriteBuff, strlen(pWriteBuff), 0);
memset(pReadBuff, 0, 10240);
ret = recv(hSocket, pReadBuff, 10240, 0);
pReadBuff[ret] = 0;
printf("%s", pReadBuff);
bLogin = false;
}
memset(pReadBuff, 0, 10240);
}