개발자 Q&A

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

2025.04.05 21:33

stream_socket_shutdown 함수 사용 방법에 관하여 질문

목록
  • 웹퍼포먼스광 16시간 전 2025.04.05 21:33 새글
  • 1
    1
저는 PHP에서 소켓을 다루는 부분에서 stream_socket_shutdown 함수를 사용하려고 합니다.
stream_socket_shutdown 함수는 소켓을 닫기 전에 어떤 처리를 하게 되는 것인지 궁금합니다.
소켓을 닫기 전에 버퍼 데이터를 읽어내는 방법을 알고 싶습니다.
stream_socket_shutdown 함수를 사용하여 버퍼 데이터를 읽어내는 방법은 어떻게 되나요?

    댓글목록

    profile_image
    나우호스팅  16시간 전



    stream_socket_shutdown 함수는 소켓을 닫기 전에 버퍼 데이터를 읽어내는 작업을 수행합니다. 이 함수는 세 가지 옵션을 지원합니다: read, write, both.

    - read 옵션: 소켓을 닫기 전에 읽을 수 있는 데이터만 읽어내고, 소켓을 닫습니다.
    - write 옵션: 소켓을 닫기 전에 쓰기 가능한 데이터만 읽어내고, 소켓을 닫습니다.
    - both 옵션: 소켓을 닫기 전에 읽을 수 있는 데이터와 쓰기 가능한 데이터 모두를 읽어내고, 소켓을 닫습니다.

    버퍼 데이터를 읽어내는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    $socket = stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, STREAM_IPPROTO_IP);
    
    stream_set_blocking($socket[0], false);
    
    stream_set_blocking($socket[1], false);
    
    
    
    // 데이터를 쓰기
    
    fwrite($socket[1], "Hello, World!");
    
    
    
    // 버퍼 데이터를 읽어내는 옵션
    
    $read = stream_socket_shutdown($socket[0], STREAM_SHUT_READ);
    
    $write = stream_socket_shutdown($socket[0], STREAM_SHUT_WRITE);
    
    
    
    // 읽어낸 데이터를 출력
    
    echo fread($socket[0], 1024);
    
    
    
    // 소켓을 닫습니다.
    
    fclose($socket[0]);
    
    fclose($socket[1]);
    
    


    위 코드에서는 소켓을 닫기 전에 버퍼 데이터를 읽어내는 방법을 보여줍니다. stream_socket_shutdown 함수를 사용하여 버퍼 데이터를 읽어내는 방법은 위 코드에서 볼 수 있습니다.

    2025-04-05 21:34

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

검색

게시물 검색