src/Net/XMPP/XMPPHP/XMLStream.php
public function connect($timeout = 30, $persistent = false, $sendinit = true) {
		$this->sent_disconnect = false;
		$starttime = time();

		do {
			$this->disconnected = false;
			$this->sent_disconnect = false;
			if($persistent) {
				$conflag = STREAM_CLIENT_CONNECT | STREAM_CLIENT_PERSISTENT;
			} else {
				$conflag = STREAM_CLIENT_CONNECT;
			}
			$conntype = 'tcp';
			if($this->use_ssl) $conntype = 'ssl';
			$this->log->log("Connecting to $conntype://{$this->host}:{$this->port}");
			try {
				$this->socket = @stream_socket_client("$conntype://{$this->host}:{$this->port}", $errno, $errstr, $timeout, $conflag);
			} catch (Exception $e) {
				throw new Net_XMPP_XMPPHP_Exception($e->getMessage());
			}
			if(!$this->socket) {
				$this->log->log("Could not connect.",  Net_XMPP_XMPPHP_Log::LEVEL_ERROR);
				$this->disconnected = true;
				# Take it easy for a few seconds
				sleep(min($timeout, 5));
			}
		} while (!$this->socket && (time() - $starttime) < $timeout);

		if ($this->socket) {
			stream_set_blocking($this->socket, 1);
			if($sendinit) $this->send($this->stream_start);
		} else {
			throw new Net_XMPP_XMPPHP_Exception("Could not connect before timeout.");
		}
	}
public function connect($timeout = 30, $persistent = false, $sendinit = true) {
		$this->sent_disconnect = false;
		$starttime = time();

		do {
			$this->disconnected = false;
			$this->sent_disconnect = false;
			if($persistent) {
				$conflag = STREAM_CLIENT_CONNECT | STREAM_CLIENT_PERSISTENT;
			} else {
				$conflag = STREAM_CLIENT_CONNECT;
			}
			$conntype = 'tcp';
			if($this->use_ssl) $conntype = 'ssl';
			$this->log->log("Connecting to $conntype://{$this->host}:{$this->port}");
			try {
				$this->socket = @stream_socket_client("$conntype://{$this->host}:{$this->port}", $errno, $errstr, $timeout, $conflag);
			} catch (Exception $e) {
				throw new Net_XMPP_XMPPHP_Exception($e->getMessage());
			}
			if(!$this->socket) {
				$this->log->log("Could not connect.",  Net_XMPP_XMPPHP_Log::LEVEL_ERROR);
				$this->disconnected = true;
				# Take it easy for a few seconds
				sleep(min($timeout, 5));
			}
		} while (!$this->socket && (time() - $starttime) < $timeout);

		if ($this->socket) {
			stream_set_blocking($this->socket, 1);
			if($sendinit) $this->send($this->stream_start);
		} else {
			throw new Net_XMPP_XMPPHP_Exception("Could not connect before timeout.");
		}
	}
public function connect ( $ timeout = 30 , $ persistent = false , $ sendinit = true ) { $ this -> sent_disconnect = false ; $ starttime = time ( ) ; do { $ this -> disconnected = false ; $ this -> sent_disconnect = false ; if ( $ persistent ) { $ conflag = STREAM_CLIENT_CONNECT | STREAM_CLIENT_PERSISTENT ; } else { $ conflag = STREAM_CLIENT_CONNECT ; } $ conntype = 'tcp' ; if ( $ this -> use_ssl ) $ conntype = 'ssl' ; $ this -> log -> log ( "Connecting to $conntype://{$this->host}:{$this->port}" ) ; try { $ this -> socket = @ stream_socket_client ( "$conntype://{$this->host}:{$this->port}" , $ errno , $ errstr , $ timeout , $ conflag ) ; } catch ( Exception $ e ) { throw new Net_XMPP_XMPPHP_Exception ( $ e -> getMessage ( ) ) ; } if ( ! $ this -> socket ) { $ this -> log -> log ( "Could not connect." , Net_XMPP_XMPPHP_Log :: LEVEL_ERROR ) ; $ this -> disconnected = true ; # Take it easy for a few seconds sleep ( min ( $ timeout , 5 ) ) ; } } while ( ! $ this -> socket && ( time ( ) - $ starttime ) < $ timeout ) ; if ( $ this -> socket ) { stream_set_blocking ( $ this -> socket , 1 ) ; if ( $ sendinit ) $ this -> send ( $ this -> stream_start ) ; } else { throw new Net_XMPP_XMPPHP_Exception ( "Could not connect before timeout." ) ; } }
Connect to XMPP Host

@param integer $timeout
@param boolean $persistent
@param boolean $sendinit
Connect to XMPP Host