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

 ID:                 52848
 Updated by:         cataphr...@php.net
 Reported by:        php dot net at phrozenbyte dot de
 Summary:            Processing out-of-band data doesn't work
 Status:             Open
 Type:               Bug
 Package:            Streams related
 Operating System:   Ubuntu 10.04 Lucid Lynx
 PHP Version:        5.3.3
 Block user comment: N

 New Comment:

I can reproduce it in Linux.



In Windows, the server gets no data at all (the first
stream_socket_recvfrom keeps blocking indefinitely).


Previous Comments:
------------------------------------------------------------------------
[2010-09-15 04:13:49] php dot net at phrozenbyte dot de

Description:
------------
I'm not sure what's going wrong (stream_socket_sendto() or
stream_socket_recvfrom()) but proccessing out-of-band data doesn't work
correctly. Only the last byte is send as out-of-band data, all other
data is send as usally.

Test script:
---------------
Server:

<?php

$server = stream_socket_server('tcp://127.0.0.1:1234');

$socket = stream_socket_accept($server);

echo "OOB-Data 1/2: '".stream_socket_recvfrom($socket, 1500,
STREAM_OOB)."'\n";

echo "OOB-Data 2/2: '".stream_socket_recvfrom($socket, 1500,
STREAM_OOB)."'\n";

echo "Data 1/2: '".stream_socket_recvfrom($socket, 1500)."'\n";

echo "Data 2/2: '".stream_socket_recvfrom($socket, 1500)."'\n";

fclose($socket);

fclose($server);

?>



Client:

<?php

$socket = stream_socket_client('tcp://127.0.0.1:1234');

stream_socket_sendto($socket, '123456789', STREAM_OOB);

fclose($socket);

?>

Expected result:
----------------
OOB-Data 1/2: '123456789'

OOB-Data 2/2: ''

Data 1/2: ''

Data 2/2: ''

Actual result:
--------------
OOB-Data 1/2: '9'

OOB-Data 2/2: ''

Data 1/2: '12345678'

Data 2/2: ''


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



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

Reply via email to