note 44187 modified in function.socket-create-listen by nicobn

From: Date: Tue, 03 Jul 2007 19:39:42 +0000
Subject: note 44187 modified in function.socket-create-listen by nicobn
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-128197@lists.php.net to get a copy of this message
If you specify no port number, or 0, a random free port will be chosen. To use ports for ipc between client/server on the same machine you can use (minus error checking) server.php: <?php $sock = socket_create_listen(0); socket_getsockname($sock, $addr, $port); print "Server Listening on $addr:$port\n"; $fp = fopen($port_file, 'w'); fwrite($fp, $port); fclose($fp); while($c = socket_accept($sock)) { /* do something useful */ socket_getpeername($c, $raddr, $rport); print "Received Connection from $raddr:$rport\n"; } socket_close($sock); ?> client.php: <?php $fp = fopen($port_file, 'r'); $port = fgets($fp, 1024); fclose($fp); $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); socket_connect($sock, '127.0.0.1', $port); socket_close($sock); ?> --was-- If you specify no port number, or 0, a random free port will be chosen. To use ports for ipc between client/server on the same machine you can use (minus error checking) server.php: <?php $sock = socket_create_listen(0); socket_getsockname($sock, $addr, $port); print "Server Listening on $addr:$port\n"; $fp = fopen($port_file, 'w'); fwrite($fp, $port); fclose($fp); while($c = socket_accept($sock)) { /* do something useful */ socket_getpeername($sock, $raddr, $rport); print "Received Connection from $raddr:$rport\n"; } socket_close($sock); ?> client.php: <?php $fp = fopen($port_file, 'r'); $port = fgets($fp, 1024); fclose($fp); $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); socket_connect($sock, '127.0.0.1', $port); socket_close($sock); ?> http://php.net/manual/en/function.socket-create-listen.php

« previous php.notes (#128197) next »