note 43283 added to function.socket-create-pair

From: Date: Wed, 16 Jun 2004 18:22:33 +0000
Subject: note 43283 added to function.socket-create-pair
Groups: php.notes 
Request: Send a blank email to php-notes+get-71157@lists.php.net to get a copy of this message
<? //socket_create_pair() example $sockets = array(); $mypid = getmypid() if (@file_exists("/tmp/$mypid.sock")){ echo ('Temporary socketfile already exists.'); exit; } //Create pair socket if(!socket_create_pair(AF_UNIX, SOCK_STREAM, 0, $sockets)){ //errorhandler } /* Send and Recieve Data */ if(!socket_write($sockets[0], "Hallo\n")){ //errorhandler } if(!$data = socket_read($sockets[1], 1024, PHP_BINARY_READ)){ //errorhandler } var_dump($data); socket_close($sockets[0]); socket_close($sockets[1]); exit; ?> Example 2. IPC (Interprocesscontrol) example Pipe between master and childprocess <? $sockets = array(); $parent_msg = "Parent says Hello :)"; $child_msg = "Child says Hello :)"; if(!socket_create_pair(AF_UNIX, SOCK_STREAM, 0, $sockets)){ //errorhandler } $pid = pcntl_fork(); if($pid == -1){ echo 'Could not fork Process. Dying....'; exit; } elseif($pid) { // We are the PARENT socket_close($sockets[0]); if(!socket_write($sockets[1], $parent_msg)){ //errorhandler } if( $data = socket_read($sockets[1], 1024, PHP_NORMAL_READ)) === false ){ //errorhandler } echo 'Parent recieved ', $data; } else { //We are the Child socket_close($sockets[1]); if(!socket_write($sockets[0], $child_msg)){ //errorhandler } if( $data = socket_read($sockets[0], 1024, PHP_NORMAL_READ)) === false ){ //errorhandler } echo 'Child recieved ', $data; } ?> I have not checked the syntax yet :) But i hope it will give you some ideas about :) Toppi ---- Manual Page -- http://www.php.net/manual/en/function.socket-create-pair.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+43283 Delete -- http://master.php.net/manage/user-notes.php?action=delete+43283&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+43283&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#71157) next »