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.

Was genau bedeutet "Vibe Coding"? Ein tiefgehender Blick für Entwickler

In der Welt der Softwareentwicklung gibt es unzählige Wege, wie man an ein Projekt herangeht. Manche schwören auf strikte Planung, andere auf bewährte Algorithmen und wieder andere lassen sich von etwas ganz anderem leiten: ihrem Gefühl. ...

admin

Autor : admin
Kategorie: Software & Web-Development

PHP cURL-Tutorial: Verwendung von cURL zum Durchführen von HTTP-Anfragen

cURL ist eine leistungsstarke PHP-Erweiterung, die es Ihnen ermöglicht, mit verschiedenen Servern über verschiedene Protokolle wie HTTP, HTTPS, FTP und mehr zu kommunizieren. ...

TheMax

Autor : TheMax
Kategorie: PHP-Tutorials

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

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

BitLife: A Fun and Realistic Life Simulation Adventure

BitLife is one of the most popular life simulation games available on mobile devices today. In this game, players can create a virtual character a ...

Geschrieben von bellabrown am 02.06.2026 08:43:01
Forum: PHP Developer Forum
The Complete Guide to Buying and Renting CS2 Skins--UUSkins

As the Counter-Strike 2 (CS2) skin market continues to heat up, more and more players are looking for a platform that combines a massive inventory ...

Geschrieben von UUSKINSJune am 02.06.2026 08:41:50
Forum: Off-Topic Diskussionen
MMOexp Diablo4 to enhance orb duration

Thanks for sharing this build discussion. It's always interesting to see different strategies and optimizations that can improve gameplay performa ...

Geschrieben von golfhit am 02.06.2026 08:32:53
Forum: PHP Developer Forum
Wordle Unlimited: The Ultimate Word Puzzle Challenge for Everyone

Introduction to Wordle Unlimited Wordle Unlimited has become one of the most popular online word puzzle games in recent years. Inspired by the c ...

Geschrieben von GertrudViksillas am 02.06.2026 05:47:11
Forum: PHP Developer Forum