socket_sendto

Sends a message to a socket, whether it is connected or not

&reftitle.description; ``int``false```socket_sendto` `Socket` `socket` `string` `data` `int` `length` `int` `flags` `string` `address` ``int``null```port`&null;

The function `socket_sendto` sends `length` bytes from `data` through the socket `socket` to the `port` at the address `address`.

&reftitle.parameters;

`socket`

- A `Socket` instance created using `socket_create`.

`data`

- The sent data will be taken from buffer `data`.

`length`

- `length` bytes from `data` will be sent.

`flags`

- The value of `flags` can be any combination of the following flags, joined with the binary OR (`|`) operator.

  ## Possible values for `flags`

  `MSG_OOB` | Send OOB (out-of-band) data.
  `MSG_EOR` | Indicate a record mark. The sent data completes the record.
  `MSG_EOF` | Close the sender side of the socket and include an appropriate notification of this at the end of the sent data. The sent data completes the transaction.
  `MSG_DONTROUTE` | Bypass routing, use direct interface.

`address`

- IP address of the remote host.

`port`

- `port` is the remote port number at which the data will be sent.

&reftitle.returnvalues;

`socket_sendto` returns the number of bytes sent to the remote host, or &false; if an error occurred.

&reftitle.changelog;

&Version; | &Description;
&sockets.changelog.socket-param;
8.0.0 | `port` is nullable now.

&reftitle.examples;

### `socket_sendto` Example

    <?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);
    ?>

&reftitle.seealso;

- `socket_send`