protected function getSocket($remote, array $context)
{
$socket = stream_socket_client($remote, $errno, $errstr, ini_get('default_socket_timeout'), STREAM_CLIENT_CONNECT, stream_context_create($context));
if (!$socket) {
throw new Exception('Unable to connect to remote ' . $remote . ': socket error ' . $errno . ' ' . $errstr, Exception::ERR_CONNECTION_ATTEMPT_FAILED);
}
stream_set_blocking($socket, 0);
return $socket;
}