Sockets socket_sendto

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_sendto — 연결 여부에 관계없이 소켓에 메시지를 보냅니다.


설명

socket_sendto(
    Socket $socket,
    string $data,
    int $length,
    int $flags,
    string $address,
    ?int $port = null
): int|false
                

socket_sendto() 함수는 data에서 소켓 socket을 통해 주소 addressportlength 바이트를 보냅니다.


매개변수

socket
socket_create()를 사용하여 생성된 Socket 인스턴스입니다.
data
보낸 데이터는 버퍼 data에서 가져옵니다.
length
datalength바이트가 전송됩니다.
flags
flags 값은 이진 OR(|) 연산자와 결합된 다음 플래그의 조합일 수 있습니다.

Possible values for flags

MSG_OOB OOB(대역 외) 데이터를 보냅니다.
MSG_EOR 기록 표시를 나타냅니다. 전송된 데이터가 기록을 완료합니다.
MSG_EOF 소켓의 보낸 쪽을 닫고 보낸 데이터 끝에 이에 대한 적절한 알림을 포함합니다. 전송된 데이터는 트랜잭션을 완료합니다.
MSG_DONTROUTE 라우팅을 우회하고 직접 인터페이스를 사용합니다.
address
원격 호스트의 IP 주소입니다.
port
port는 데이터가 전송될 원격 포트 번호입니다.

반환 값

socket_sendto()는 원격 호스트로 보낸 바이트 수를 반환하거나 오류가 발생하면 false를 반환합니다.


변경 로그

버전 설명
8.0.0 socket은 이제 Socket 인스턴스입니다. 이전에는 리소스였습니다.
8.0.0 port는 이제 nullable입니다.

Examples

예제 #1 socket_sendto() 예제

                  
<?php
  $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);

  $msg = "Ping !";
  $len = strlen($msg);

  socket_sendto($sock, $msg, $len, 0, '127.0.0.1', 1223);
  socket_close($sock);
?>
                  
                

기타