PHP fsockopen无法连接

时间:2018-11-27 08:06:48

标签: php sockets websocket fsockopen phpwebsocket

当我尝试将本地主机与指纹设备连接时发现一些问题。

我将同一网络与指纹设备一起使用。 我可以访问它自己的网络应用界面。 但是fsockopen仍然出错。

我收到此错误:

  

严重性:警告

     

消息:fsockopen():无法连接到xx.xx.xx.xx:80(尝试连接     失败,因为关联方在一段时间后未正确响应     时间或建立的连接失败,因为连接的主机无法     响应。 )

这是我的代码

$IP = "xx.xx.xx.xx";
$Key =  0;
if($IP!=""){
$Connect = fsockopen($IP, "80", $errno, $errstr, 0);
    if($Connect){
        stream_set_timeout($Connect, 0);
        if($pin !== ""){
          $param = $pin;
        } else {
          $param="ALL";
        }
        $soap_request="<GetAttLog>
        <ArgComKey xsi:type=\"xsd:integer\">".$Key."</ArgComKey>
        <Arg>
          <PIN xsi:type=\"xsd:integer\">".$param."</PIN>
        </Arg>
        </GetAttLog>";
        $newLine="\r\n";
        fputs($Connect, "POST /iWsService HTTP/1.0".$newLine);
        fputs($Connect, "Content-Type: text/xml".$newLine);
        fputs($Connect, "Content-Length: ".strlen($soap_request).$newLine.$newLine);
        fputs($Connect, $soap_request.$newLine);
        $buffer="";
        while($Response=fgets($Connect, 1024)){
            $buffer=$buffer.$Response;
        }
        $buffer = Parse_Data($buffer,"<GetAttLogResponse>","</GetAttLogResponse>");
        $buffer = explode("\r\n",$buffer);
        return $buffer;
    } else {
        $result = array('status' => 'Unable to connect!' );
        return $result;
    }
}

谢谢您的帮助

0 个答案:

没有答案