XMPP 是一种很类似于http协议的一种数据传输协议,它的过程就如同“解包装–〉包装”的过程,用户只需要明白它接受的类型,并理解它返回的类型,就可以很好的利用xmpp来进行数据通讯。
include(“xmpp.php”);
$conn = new XMPP ( 'talk.google.com' , 5222 , 'username' , 'password' , 'xmpphp' , 'gmail.com' , $printlog = False , $loglevel = LOGGING_INFO ) ; $conn -> connect ( ) ; $conn -> processUntil ( 'session_start' ) ; $conn -> message ( 'someguy@someserver.net' , 'This is a test message!' ) ; $conn -> disconnect ( ) ;-------------------------------------------------------------------------------------------------------------------------------------
include(“xmpp.php”); $conn = new XMPP ( 'talk.google.com' , 5222 , 'user' , 'password' , 'xmpphp' , 'gmail.com' , $printlog = True , $loglevel = LOGGING_INFO ) ; $conn -> connect ( ) ; while ( ! $conn -> disconnected ) { $payloads = $conn -> processUntil ( array ( 'message' , 'presence' , 'end_stream' , 'session_start' ) ) ; foreach ( $payloads as $event ) { $pl = $event [ 1 ] ; switch ( $event [ 0 ] ) { case 'message' : print "———————————————————————————/n " ; print "Message from: {$pl['from']}/n " ; if ( $pl [ 'subject' ] ) print "Subject: {$pl['subject']}/n " ; print $pl [ 'body' ] . "/n " ; print "———————————————————————————/n " ; $conn -> message ( $pl [ 'from' ] , $body = "Thanks for sending me /" {$pl['body']}/" ." , $type = $pl [ 'type' ] ) ; if ( $pl [ 'body' ] == 'quit' ) $conn -> disconnect ( ) ; if ( $pl [ 'body' ] == 'break' ) $conn -> send ( "</end>" ) ; break ; case 'presence' : print "Presence: {$pl['from']} [{$pl['show']}] {$pl['status']}/n " ; break ; case 'session_start' : $conn -> presence ( $status = "Cheese!" ) ; break ; } } }