note 102249 added to function.socket-write
| From: | jean at briskula dot si | Date: | Thu, 03 Feb 2011 23:00:31 +0000 |
| Subject: | note 102249 added to function.socket-write | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-176664@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.
/*
* 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;
}
----
Server IP: 69.147.83.197
Probable Submitter: 93.103.139.31
----
Manual Page -- http://www.php.net/manual/en/function.socket-write.php
Edit -- https://master.php.net/note/edit/102249
Del: integrated -- https://master.php.net/note/delete/102249/integrated
Del: useless -- https://master.php.net/note/delete/102249/useless
Del: bad code -- https://master.php.net/note/delete/102249/bad+code
Del: spam -- https://master.php.net/note/delete/102249/spam
Del: non-english -- https://master.php.net/note/delete/102249/non-english
Del: in docs -- https://master.php.net/note/delete/102249/in+docs
Del: other reasons-- https://master.php.net/note/delete/102249
Reject -- https://master.php.net/note/reject/102249
Search -- https://master.php.net/manage/user-notes.php