stream_socket_server

(PHP 5, PHP 7, PHP 8)

stream_socket_serverCreate an Internet or Unix domain server socket

Beschreibung

stream_socket_server(
    string $address,
    int &$error_code = null,
    string &$error_message = null,
    int $flags = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN,
    ?resource $context = null
): resource|false

Creates a stream or datagram socket on the specified address.

This function only creates a socket, to begin accepting connections use stream_socket_accept().

Parameter-Liste

address

The type of socket created is determined by the transport specified using standard URL formatting: transport://target.

For Internet Domain sockets (AF_INET) such as TCP and UDP, the target portion of the remote_socket parameter should consist of a hostname or IP address followed by a colon and a port number. For Unix domain sockets, the target portion should point to the socket file on the filesystem.

Depending on the environment, Unix domain sockets may not be available. A list of available transports can be retrieved using stream_get_transports(). See Liste der unterstützten Socket-Transporter for a list of bulitin transports.

error_code

If the optional error_code and error_message arguments are present they will be set to indicate the actual system level error that occurred in the system-level socket(), bind(), and listen() calls. If the value returned in error_code is 0 and the function returned false, it is an indication that the error occurred before the bind() call. This is most likely due to a problem initializing the socket. Note that the error_code and error_message arguments will always be passed by reference.

error_message

See error_code description.

flags

A bitmask field which may be set to any combination of socket creation flags.

Hinweis:

For UDP sockets, you must use STREAM_SERVER_BIND as the flags parameter.

context

Rückgabewerte

Returns the created stream, or false on error.

Changelog

Version Beschreibung
8.0.0 context is nullable now.

Beispiele

Beispiel #1 Using TCP server sockets

<?php
$socket 
stream_socket_server("tcp://0.0.0.0:8000"$errno$errstr);
if (!
$socket) {
  echo 
"$errstr ($errno)<br />\n";
} else {
  while (
$conn stream_socket_accept($socket)) {
    
fwrite($conn'The local time is ' date('n/j/Y g:i a') . "\n");
    
fclose($conn);
  }
  
fclose($socket);
}
?>

The example below shows how to act as a time server which can respond to time queries as shown in an example on stream_socket_client().

Hinweis: Most systems require root access to create a server socket on a port below 1024.

Beispiel #2 Using UDP server sockets

<?php
$socket 
stream_socket_server("udp://127.0.0.1:1113"$errno$errstrSTREAM_SERVER_BIND);
if (!
$socket) {
    die(
"$errstr ($errno)");
}

do {
    
$pkt stream_socket_recvfrom($socket10$peer);
    echo 
"$peer\n";
    
stream_socket_sendto($socketdate("D M j H:i:s Y\r\n"), 0$peer);
} while (
$pkt !== false);

?>

Anmerkungen

Hinweis: Wenn Sie eine numerische IPv6-Adresse angeben, z.B. fe80::1, müssen Sie die IP in eckige Klammern schreiben, z.B. tcp://[fe80::1]:80.

Siehe auch

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.

Midjourney Tutorial - Anleitung für Anfänger

Über Midjourney, dem Tool zur Erstellung digitaler Bilder mithilfe von künstlicher Intelligenz, gibt es ein informatives Video mit dem Titel "Midjourney Tutorial auf Deutsch - Anleitung für Anfänger" ...

Mike94

Autor : Mike94
Kategorie: KI Tutorials

Grundlagen von Views in MySQL

Views in einer MySQL-Datenbank bieten die Möglichkeit, eine virtuelle Tabelle basierend auf dem Ergebnis einer SQL-Abfrage zu erstellen. ...

admin

Autor : admin
Kategorie: mySQL-Tutorials

Definition von Stored Procedures - eine Einführung

Stored Procedures sind vordefinierte SQL-Codeblöcke, die in einer Datenbank gespeichert sind und bei Bedarf aufgerufen werden können. ...

Bernie

Autor : ebiz-consult GmbH & Co. KG
Kategorie: mySQL-Tutorials

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

Ich bin am verrückt werden - Session und neue Webseite

That is an extremely bright idea

Geschrieben von EssaMattou am 02.05.2024 09:34:57
Forum: SQL / Datenbanken
"Why adore HTMX over JavaScript?"

What specific features or aspects of HTMX, a library designed to enhance interactions in web applications, appeal to users who have a strong affin ...

Geschrieben von WartanThamar am 02.05.2024 06:53:08
Forum: HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS
What defines Laravel's developer community?

What factors contribute to the perceived happiness within the Laravel developer community, and how does this compare to other developer communitie ...

Geschrieben von BakhamMamodar am 01.05.2024 10:45:23
Forum: PHP Developer Forum