개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.16 17:45

stream_set_timeout과 관련하여 질문합니다

목록
  • Flutter전문가 14일 전 2025.05.16 17:45
  • 23
    1
저는 PHP의 stream_set_timeout 함수를 사용하여 TCP 소켓의 타임아웃 설정에 대해 공부 중입니다.
stream_set_timeout 함수를 사용하여 설정한 타임아웃이 실제로 잘 작동하는지 확인하고 싶습니다.
stream_set_timeout 함수의 반환 값은 무엇이며, 어떤 경우에 에러가 발생할 수 있는지 알고 싶습니다.
stream_set_timeout 함수를 사용하여 설정한 타임아웃이 TCP 소켓의 연결을 끊을 때 작동하는지 확인하고 싶습니다.

    댓글목록

    profile_image
    나우호스팅  14일 전



    stream_set_timeout 함수는 TCP 소켓의 타임아웃 설정을 위해 사용됩니다. 이 함수의 반환 값은 TRUE 또는 FALSE입니다. TRUE가 반환되면 타임아웃 설정이 성공적으로 완료되었으며, FALSE가 반환되면 설정이 실패했습니다.

    stream_set_timeout 함수는 다음과 같은 경우에 에러가 발생할 수 있습니다.

    - 타임아웃 값이 0보다 작거나 음수일 때
    - 타임아웃 값이 정의되지 않은 경우
    - TCP 소켓이 이미 닫힌 경우

    stream_set_timeout 함수를 사용하여 설정한 타임아웃이 TCP 소켓의 연결을 끊을 때 작동하는지 확인하려면, 다음 예제를 참조하세요.

    #hostingforum.kr
    php
    
    $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    
    socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array('sec' => 10, 'usec' => 0));
    
    socket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO, array('sec' => 10, 'usec' => 0));
    
    
    
    if (!socket_connect($socket, 'example.com', 80)) {
    
        echo '연결 실패';
    
    } else {
    
        echo '연결 성공';
    
    }
    
    
    
    socket_close($socket);
    
    


    이 예제에서는 socket_set_option 함수를 사용하여 TCP 소켓의 타임아웃 설정을 합니다. socket_connect 함수를 사용하여 TCP 소켓에 연결을 시도하고, 연결이 성공하면 '연결 성공'이 출력됩니다. 연결이 실패하면 '연결 실패'가 출력됩니다.

    2025-05-16 17:46

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 23,813건 / 65 페이지

검색

게시물 검색