note 102249 modified in function.socket-write by danbrown

From: Date: Thu, 03 Feb 2011 23:02:18 +0000
Subject: note 102249 modified in function.socket-write by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-176665@lists.php.net to get a copy of this message
Some clients (Flash's XMLSocket for example) won't fire a read event until a new line is recieved. <?php /* * Write to a socket * add a newline and null character at the end * some clients don't read until new line is recieved * * try to send the rest of the data if it gets truncated */ function write(&$sock,$msg) { $msg = "$msg\n\0"; $length = strlen($msg); while(true) { $sent = socket_write($sock,$msg,$length); if($sent === false) { return false; } if($sent < $length) { $msg = substr($msg, $sent); $length -= $sent; print("Message truncated: Resending: $msg"); } else { return true; } } return false; } ?> --was-- Some clients (Flash's XMLSocket for example) won't fire a read event until a new line is recieved. /* * Write to a socket * add a newline and null character at the end * some clients don't read until new line is recieved * * try to send the rest of the data if it gets truncated */ function write(&$sock,$msg) { $msg = "$msg\n\0"; $length = strlen($msg); while(true) { $sent = socket_write($sock,$msg,$length); if($sent === false) { return false; } if($sent < $length) { $msg = substr($msg, $sent); $length -= $sent; print("Message truncated: Resending: $msg"); } else { return true; } } return false; } http://php.net/manual/en/function.socket-write.php

« previous php.notes (#176665) next »