XMPP的PHP实现

    技术2022-05-19  19

    XMPP的PHP实现

    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 ;         }     } }

    最新回复(0)