socket_sendto

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

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

说明

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

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

参数

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.

返回值

socket_sendto() returns the number of bytes sent to the remote host, or false if an error occurred.

更新日志

版本 说明
8.0.0 socket is a Socket instance now; previously, it was a resource.
8.0.0 port is nullable now.

范例

Example #1 socket_sendto() Example

<?php
    $sock 
socket_create(AF_INETSOCK_DGRAMSOL_UDP);

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

    
socket_sendto($sock$msg$len0'127.0.0.1'1223);
    
socket_close($sock);
?>

参见

User Contributed Notes

ole_DOT_omland_AT_gmail_DOT_com 12-Oct-2005 07:44
Here's how you can make an udp broadcast, useful sometimes, and does seem hard to figure out hwo to do..

<?php
$sock
= socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_set_option($sock, SOL_SOCKET, SO_BROADCAST, 1);
socket_sendto($sock, $broadcast_string, strlen($broadcast_string), 0, '255.255.255.255', $port);
?>