Open manoletto opened 4 years ago
To set the TCP_NODELAY socket option only when it is possible, and disable warning message :
socket_import_stream(): cannot represent a stream of type tcp_socket/ssl as a Socket Descriptor
in Wrench/lib/Socket/ServerSocket.php accept() method (on line 67),
i suggest this :
if (!$new) { throw new ConnectionException(socket_strerror(socket_last_error($new))); } ++ if(($sock = @socket_import_stream($new))>0){ -- socket_set_option(socket_import_stream($new), SOL_TCP, TCP_NODELAY, 1); ++ socket_set_option($sock, SOL_TCP, TCP_NODELAY, 1); ++ } return $new;
Better solution :
in Wrench/lib/Socket/ServerSocket.php getSocketStreamContextOptions() method,
add
$options['tcp_nodelay'] = TRUE;
and remove socket_set_option() call in accept() method.
It works ;-)
To set the TCP_NODELAY socket option only when it is possible, and disable warning message :
socket_import_stream(): cannot represent a stream of type tcp_socket/ssl as a Socket Descriptor
in Wrench/lib/Socket/ServerSocket.php accept() method (on line 67),
i suggest this :