src/Net/XMPP/XMPPHP/XMLStream.php
public function send($msg, $timeout=NULL) {

		if (is_null($timeout)) {
			$secs = NULL;
			$usecs = NULL;
		} else if ($timeout == 0) {
			$secs = 0;
			$usecs = 0;
		} else {
			$maximum = $timeout * 1000000;
			$usecs = $maximum % 1000000;
			$secs = floor(($maximum - $usecs) / 1000000);
		}

		$read = array();
		$write = array($this->socket);
		$except = array();

		$select = @stream_select($read, $write, $except, $secs, $usecs);

		if($select === False) {
			$this->log->log("ERROR sending message; reconnecting.");
			$this->doReconnect();
			# TODO: retry send here
			return false;
		} elseif ($select > 0) {
			$this->log->log("Socket is ready; send it.", Net_XMPP_XMPPHP_Log::LEVEL_VERBOSE);
		} else {
			$this->log->log("Socket is not ready; break.", Net_XMPP_XMPPHP_Log::LEVEL_ERROR);
			return false;
		}
		$sentbytes = @fwrite($this->socket, $msg);
		$this->log->log("SENT: " . mb_substr($msg, 0, $sentbytes, '8bit'), Net_XMPP_XMPPHP_Log::LEVEL_VERBOSE);
		if($sentbytes === FALSE) {
			$this->log->log("ERROR sending message; reconnecting.", Net_XMPP_XMPPHP_Log::LEVEL_ERROR);
			$this->doReconnect();
			return false;
		}
		$this->log->log("Successfully sent $sentbytes bytes.", Net_XMPP_XMPPHP_Log::LEVEL_VERBOSE);
		return $sentbytes;
	}
public function send($msg, $timeout=NULL) {

		if (is_null($timeout)) {
			$secs = NULL;
			$usecs = NULL;
		} else if ($timeout == 0) {
			$secs = 0;
			$usecs = 0;
		} else {
			$maximum = $timeout * 1000000;
			$usecs = $maximum % 1000000;
			$secs = floor(($maximum - $usecs) / 1000000);
		}

		$read = array();
		$write = array($this->socket);
		$except = array();

		$select = @stream_select($read, $write, $except, $secs, $usecs);

		if($select === False) {
			$this->log->log("ERROR sending message; reconnecting.");
			$this->doReconnect();
			# TODO: retry send here
			return false;
		} elseif ($select > 0) {
			$this->log->log("Socket is ready; send it.", Net_XMPP_XMPPHP_Log::LEVEL_VERBOSE);
		} else {
			$this->log->log("Socket is not ready; break.", Net_XMPP_XMPPHP_Log::LEVEL_ERROR);
			return false;
		}
		$sentbytes = @fwrite($this->socket, $msg);
		$this->log->log("SENT: " . mb_substr($msg, 0, $sentbytes, '8bit'), Net_XMPP_XMPPHP_Log::LEVEL_VERBOSE);
		if($sentbytes === FALSE) {
			$this->log->log("ERROR sending message; reconnecting.", Net_XMPP_XMPPHP_Log::LEVEL_ERROR);
			$this->doReconnect();
			return false;
		}
		$this->log->log("Successfully sent $sentbytes bytes.", Net_XMPP_XMPPHP_Log::LEVEL_VERBOSE);
		return $sentbytes;
	}
public function send ( $ msg , $ timeout = NULL ) { if ( is_null ( $ timeout ) ) { $ secs = NULL ; $ usecs = NULL ; } else if ( $ timeout == 0 ) { $ secs = 0 ; $ usecs = 0 ; } else { $ maximum = $ timeout * 1000000 ; $ usecs = $ maximum % 1000000 ; $ secs = floor ( ( $ maximum - $ usecs ) / 1000000 ) ; } $ read = array ( ) ; $ write = array ( $ this -> socket ) ; $ except = array ( ) ; $ select = @ stream_select ( $ read , $ write , $ except , $ secs , $ usecs ) ; if ( $ select === False ) { $ this -> log -> log ( "ERROR sending message; reconnecting." ) ; $ this -> doReconnect ( ) ; # TODO: retry send here return false ; } elseif ( $ select > 0 ) { $ this -> log -> log ( "Socket is ready; send it." , Net_XMPP_XMPPHP_Log :: LEVEL_VERBOSE ) ; } else { $ this -> log -> log ( "Socket is not ready; break." , Net_XMPP_XMPPHP_Log :: LEVEL_ERROR ) ; return false ; } $ sentbytes = @ fwrite ( $ this -> socket , $ msg ) ; $ this -> log -> log ( "SENT: " . mb_substr ( $ msg , 0 , $ sentbytes , '8bit' ) , Net_XMPP_XMPPHP_Log :: LEVEL_VERBOSE ) ; if ( $ sentbytes === FALSE ) { $ this -> log -> log ( "ERROR sending message; reconnecting." , Net_XMPP_XMPPHP_Log :: LEVEL_ERROR ) ; $ this -> doReconnect ( ) ; return false ; } $ this -> log -> log ( "Successfully sent $sentbytes bytes." , Net_XMPP_XMPPHP_Log :: LEVEL_VERBOSE ) ; return $ sentbytes ; }
Send to socket

@param string $msg
Send to socket