/** {@inheritdoc} */ public function open($address, $context = null) { $this->resource = $this->createSocketResource($address, $context ?: stream_context_get_default()); $result = false; if (is_resource($this->resource)) { $result = true; $this->remoteAddress = $address; // https://bugs.php.net/bug.php?id=51056 stream_set_blocking($this->resource, 0); // https://bugs.php.net/bug.php?id=52602 stream_set_timeout($this->resource, 0, 0); $this->ioInterface = $this->createIoInterface($this->resolveSocketType(), $address); $this->context->reset(); } return $result; }