개발자 Q&A

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

2025.05.17 14:50

SwooleClient::sendto 함수 사용 시 에러 발생

목록
  • 코딩의신 13일 전 2025.05.17 14:50
  • 24
    1
제가 SwooleClient::sendto 함수를 사용하여 소켓통신을 하려고 하는데, sendto 함수의 두 번째 인자인 'flags'에 대한 이해가 부족합니다.
sendto 함수의 flags를 사용하여 데이터를 전송할 때, 어떤 플래그를 사용해야 하는지 알려주세요.
또한, flags를 사용하지 않고 sendto 함수를 사용하는 방법도 알려주세요.

    댓글목록

    profile_image
    나우호스팅  13일 전



    SwooleClient::sendto 함수는 TCP 소켓 통신을 위해 사용됩니다. 이 함수의 두 번째 인자인 'flags'는 데이터 전송 옵션을 지정하는 역할을 합니다.

    flags를 사용하지 않고 sendto 함수를 사용하는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    $client = new SwooleClient(SWOOLE_SOCK_TCP);
    
    $client->connect('127.0.0.1', 9501);
    
    $client->send('Hello, world!');
    
    


    flags를 사용하는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    $client = new SwooleClient(SWOOLE_SOCK_TCP);
    
    $client->connect('127.0.0.1', 9501);
    
    $client->sendto('Hello, world!', SWOOLE_SOCK_FLAG_FIN | SWOOLE_SOCK_FLAG_CORK);
    
    


    sendto 함수의 flags 옵션에는 다음과 같은 값이 있습니다.

    - SWOOLE_SOCK_FLAG_FIN : FIN 플래그를 설정하여 데이터 전송을 종료합니다.
    - SWOOLE_SOCK_FLAG_CORK : 데이터를 전송하기 전에 버퍼를 잠그는 옵션입니다.
    - SWOOLE_SOCK_FLAG_MORE : 데이터를 전송하기 전에 버퍼를 잠그는 옵션입니다.
    - SWOOLE_SOCK_FLAG_EOR : 데이터를 전송하기 전에 버퍼를 잠그는 옵션입니다.
    - SWOOLE_SOCK_FLAG_EOF : 데이터를 전송하기 전에 버퍼를 잠그는 옵션입니다.

    flags 옵션을 사용하여 데이터를 전송할 때, FIN 플래그를 설정하여 데이터 전송을 종료할 수 있습니다. 또한, 버퍼를 잠그는 옵션인 CORK, MORE, EOR, EOF 플래그를 사용하여 데이터를 전송할 수 있습니다.

    flags 옵션을 사용하는 방법은 위의 예제에서 보실 수 있습니다.

    2025-05-17 14:51

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

검색

게시물 검색