3
我希望發送消息到基於XMPP的聊天服務器使用PHP。 我正在使用JAXL,它似乎是純PHP服務器聊天的最佳(有限)選項。基於JAXL的聊天客戶端。需要幫助連接到Gtalk或其他服務器來測試
不過,我還沒有建立任何連接,更不用說發送消息。 我有一個很難制定出如果問題是我的代碼,我的服務器(這是共享服務器,但交友,和非常有益的主機),或我的設置。
我使用的嘗試連接到GTalk的是代碼;
$client = new JAXL(array(
'jid' => '[email protected]',
'pass' => 'password',
'host'=> 'talk.google.com',
'port'=> 5222,
'domain'=> 'gmail.com', //unsure if this is the right setting.
'force_tls' => true,
'auth_type' => @$argv[3] ? $argv[3] : 'PLAIN',
));
//
// required XEP's
//
$client->require_xep(array(
'0199' // XMPP Ping
));
//
// add necessary event callbacks here
//
$client->add_cb('on_auth_success', function() {
global $client;
_info("got on_auth_success cb, jid ".$client->full_jid->to_string());
// fetch roster list
$client->get_roster();
// fetch vcard
$client->get_vcard();
// set status
$client->set_status("available!", "dnd", 10);
});
$client->add_cb('on_connect_error', function() {
echo 'Connect Error';
});
$client->add_cb('on_auth_failure', function() {
echo 'Auth Error';
});
$client->add_cb('on_auth_success', function() {
global $client;
echo 'connected';
$client->send_chat_msg('[email protected]', 'webtest');
$client->shutdown();
});
//
// finally start configured xmpp stream
//
$client->start(array(
'--with-debug-shell' => true,
'--with-unix-sock' => true
));
echo "done\n";
觸發PHP(從瀏覽器),然後導致服務器卡住。 (沒有「完成」的消息,只是不斷加載,直到從瀏覽器超時)
服務器日誌顯示;
strict mode enabled, adding exception handlers. Set 'strict'=>TRUE inside JAXL config to disable this[0m
error handler called with 8, Undefined index: priv_dir,
然後很多;
unable to connect tcp://talk.google.com:5222 with error no: 110, error str: Connection timed out
所以,我會感謝以下任何幫助;
- 任何特定的起步
- 選推薦我的代碼
- 與每增加一個連接設置的任何問題,問題來研究這個問題。
- 或者任何成功使用JAXL的人的一般建議。
感謝, 托馬斯·羅貝爾
我需要同樣的事情從文件XMLStream.php連接,你有沒有解決呢? –
否:( 無論在任何地方這個問題的幫助很少。 – darkflame