/** * @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; }
/** * @param JabberId $jabberId * @param string $nickname * @param string $password * @param string $host * @param integer $port */ public function __construct(JabberId $jabberId, $nickname, $password, $host = 'chat.hipchat.com', $port = 5222) { parent::__construct($jabberId, $nickname, $password, $host, $port); }
/** * @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()); }