3.1.2 - 致命 - 未处理
前题:在Action中会用到socket.class.php类,socket类将会去连接一个服务。问题发现:因为socket类去连接的服务是我自己写的,因此监控了连接信息,所以发现了问题。
问题代码:伪代码大概如下
$res=S($searchText."_P".$current_pageNo); //使用缓存
if($res){
echo "使用缓存";
$this->assign($res);
$this->display();
}else{
echo "重新查询";
$sock=new Socket();
$sock->connect();
$sock->write("str");
$res=$sock->read(1024);
$this->assign($res);
$this->display();
}
问题表现:理论上讲,当发现缓存可用时,应该会直接display出去,事实上也确实如此,因为echo "使用缓存"确实被输出了。
但是,下面的socket连接也去连接了。
我不知道这是什么原因,没法理解。问题就这么发生了,而且可以重现。
如果需要原码可以QQ我948905
谢谢。