使用PHP和Javascript的Google Talk Webclient

时间:2011-07-14 14:50:38

标签: php xmpp

我有一个关于建立从我的网络浏览器到Google聊天的连接的问题。 由于您无法使用JS直接连接到Google聊天服务器,因此我将从服务器连接到Google聊天服务器。我使用xmphp(http://code.google.com/p/xmpphp/)与谷歌聊天服务器连接。像:

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

这很有效。

但知道问题是,如何连接到我自己的服务器以在webbrowser上推送消息?

1 个答案:

答案 0 :(得分:0)

好吧,您必须在此页面上编写一个php脚本或函数,它将返回要显示在Web浏览器中的HTML。

我建议使用AJAX调用此脚本,并使用返回的内容填充.innerHtml。