//关闭连接
function closeHost()
{
if ($this->resHandler)
{
fclose($this->resHandler);
}
return true;
}
//发送指令
function sendCommand($strCommand)
{
if ($this->bolDebug)
{
if (!preg_match("/PASS/", $strCommand))
{
echo "Send Command: ".$strCommand."\r\n";
}
else
{
echo "Send Command: PASS ******\r\n";
}
}
if (!$this->getIsConnect())
{
return false;
}
if (trim($strCommand)=='')
{
$this->setMessage('Request command is empty', 1004);
return false;
}
$this->strRequest = $strCommand."\r\n";
$this->arrRequest[] = $strCommand;
fputs($this->resHandler, $this->strRequest);
return true;
}
//提取响应信息第一行
function getLineResponse()
{
if (!$this->getIsConnect())
{
return false;
}
$this->strResponse = fgets($this->resHandler, $this->intBuffSize);
$this->arrResponse[] = $this->strResponse;
return $this->strResponse;
}
//提取若干响应信息,$intReturnType是返回值类型, 1为字符串, 2为数组
function getRespMessage($intReturnType)
{
if (!$this->getIsConnect())
{
return false;
}
if ($intReturnType == 1)
{
$strAllResponse = '';
while(!feof($this->resHandler))
{
$strLineResponse = $this->getLineResponse();
if (preg_match("/^\+OK/", $strLineResponse))
{
continue;
}
if (trim($strLineResponse)=='.')
{
break;
}
$strAllResponse .= $strLineResponse;
}
return $strAllResponse;
}
else
{
$arrAllResponse = array();
while(!feof($this->resHandler))
{
$strLineResponse = $this->getLineResponse();
if (preg_match("/^\+OK/", $strLineResponse))
{
continue;
}
if (trim($strLineResponse)=='.')
{
break;
}
$arrAllResponse[] = $strLineResponse;
}
return $arrAllResponse;
}
}