/** * @param Connection $connection * @return resource * @throws RuntimeException */ public function createSocket(Connection $connection) { $socket = stream_socket_client($connection->getRemoteSocket(), $errno, $errstr, ini_get('default_socket_timeout'), STREAM_CLIENT_CONNECT); if (!$socket) { throw new RuntimeException('Unable to connect to remote ' . $connection->getRemoteSocket() . ': socket error ' . $errno . ' ' . $errstr); } stream_set_blocking($socket, 0); return $socket; }
/** * @test */ public function it_returns_socket_uri() { $connection = new Connection(new JabberId('42_1337@chat.hipchat.com/bot'), 'leetbot', '1337b0t', 'chat.hipchat.com', 5222); $this->assertEquals('tcp://chat.hipchat.com:5222', $connection->getRemoteSocket()); }