ID:               29726
 User updated by:  lists at cyberlot dot net
 Reported By:      lists at cyberlot dot net
 Status:           Open
 Bug Type:         Sockets related
 Operating System: Fedora Core 2
 PHP Version:      5.0.1
 New Comment:

This problem only exists with fread, fget which multiple examples in
the docs use and the docs list as "See Also" functions.

However by using stream_socket_recvfrom this problem was resovled..
This function is not at this time referenced in the manual other in the
functions list so might easily overlooked as I did.

One possible issue I do see, stream_socket_recvfrom looks to work
because it pulls everything in the buffer up to X bytes regardless of
any EOL character. On a slow single line entry settup this shouldn't be
a problem and everything should work fine..

Under high load when data ends up being buffered at both sides this
function would return only partial "blocks" of what a user might expect
and the user would need to program his own internal buffering that
checks for EOL.

This should be covered in more detail in the online manual.


Previous Comments:
------------------------------------------------------------------------

[2004-08-18 00:59:26] lists at cyberlot dot net

Description:
------------
switched from socket functions to stream functions for socket server
usage because streams is supposed to be stable, and are included by
default.. 

The problem socket_read supports  PHP_NORMAL_READ which allows it to
see flashes \0 as EOL...

This is not possible when using streams to create a socket server as
fget does not see \0 as EOL

Expected result:
----------------
Expect fgets to return data at \0

Actual result:
--------------
Nothing is returned until the buffer is filled.


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=29726&edit=1

Reply via email to