채택완료

아이코드 fgets 무한루프 에러

2022-05-19 (목) 22:30:36 1,712

[code]

 $fsocket = @fsockopen(trim($this->ip), trim($this->port)); 

        if (!$fsocket){
            return false;
        }
        set_time_limit(300);
        
        $gets = null;

        foreach($this->Data as $puts) {
              
            fputs($fsocket, $puts);   
        
            while(!$gets) { $gets = fgets($fsocket,32); }
            
            $json = json_decode(substr($puts,6), true);

            $dest = $json["tel"];
            if (substr($gets,0,20) == "0225  00".FillSpace($dest,12)) {
                $this->Result[] = $dest.":".substr($gets,20,11);

            } else {
                $this->Result[$dest] = $dest.":Error(".substr($gets,6,2).")";
                if(substr($gets,6,2) >= "80") break;
           }

            $gets = "";
        }
    
        fclose($fsocket);
        $this->Data = "";
         
        return true;

[/codc]

아이코드 문자보내기 중이구요 ㅜㅜ 예약하면 문자오게끔 돼있었는데 echo 찍어보면서 확인해보니까 whilte 문에서 무한루프가 걸리더라고요 원인이 뭘까요?! 포트는 7295, ip는 아이코드 ip입니다!

답변 1개

채택된 답변
+20 포인트
2022-05-20 (금) 11:07:17

fsockopen()은 잘 되나요?

while(!$gets) { $gets = fgets($fsocket,32); }

여기 맴돌고 있다면

서버 쪽에서 응답이 없다는 거 같은데요.

아이코드 쪽의 문의해 보셔야 할 거 같습니다.

답변을 작성하려면 로그인이 필요합니다.