Last 5.3 release ever available: PHP 5.3.29 - 5.3 now EOL

socket_sendto

(PHP 4 >= 4.1.0, PHP 5)

socket_sendtoSendet eine Nachricht an einen Socket, egal ob dieser verbunden ist oder nicht

Beschreibung

int socket_sendto ( resource $socket , string $buf , int $len , int $flags , string $addr [, int $port = 0 ] )

Die Funktion socket_sendto() sendet len Bytes aus dem Puffer buf über den Port port an den Socket socket mit der Adresse addr.

Parameter-Liste

socket

Ein gültiger Socket-Deskriptor, der von socket_create() erzeugt wurde.

buf

Die Sendedaten werden aus dem Puffer buf gelesen.

len

Die Anzahl Bytes, die aus dem Puffer buf gesendet werden.

flags

Der Parameter flags kann beliebige Kombinationen der folgenden Flags enthalten, die mit einem binären OR (|) verknüpft werden.

Mögliche Werte von flags
MSG_OOB Sende OOB (out-of-band) Daten.
MSG_EOR Setze eine Ende-Marke für den Datensatz. Die gesendeten Daten beenden die Übertragung.
MSG_EOF Schließe den Socket auf der Senderseite und füge eine entsprechende Benachrichtigung an das Ende der gesendeten Daten an. Die gesendeten Daten beenden die Übertragung.
MSG_DONTROUTE Umgehe das Routing, sende direkt über die Schnittstelle.

addr

Die IP-Adresse des enfernten Hosts.

port

port ist die Portnummer des entfernten Rechners, an den die Daten gesendet werden.

Rückgabewerte

socket_sendto() gibt die Anzahl der an den entfernten Host gesendeten Bytes zurück oder -1, falls ein Fehler auftrat.

Beispiele

Beispiel #1 socket_sendto()-Beispiel

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

Siehe auch

add a note add a note

User Contributed Notes 2 notes

up
2
ole_DOT_omland_AT_gmail_DOT_com
8 years ago
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);
?>
up
1
DigitalHuman
2 months ago
Does anyone have a clue if its possible to get the IP-address of the network interface that response to the broadcast command?

Cheers,

Victor
To Top