2012-07-22 168 views
1

我想创建一个facebook/gtalk自定义聊天窗口。已经使用xmpp_login权限创建了一个Facebook应用程序并由我的用户批准了它。XMPP客户端未连接 - 使用节点波什服务器

我使用了以下内容:

  1. node-xmpp-bosh
  2. jquery.xmpp.js

当我使用基本的例子提供,我可以登录我的凭据Gmail,但不Facebook的。当我将BOSH服务器从http://bosh.metajack.im:5280/xmpp-httpbind - >更改为我自己的时候,我无法连接任何服务器。

下面是我从Gmail收到来自例如服务器的响应:

<body xmlns='http://jabber.org/protocol/httpbind' inactivity='60' secure='true' authid='C410DDF349E5D6E4' 
     content='text/xml; charset=utf-8' window='3' polling='15' sid='d97ad59c8741b5c97fc5d267cf9fa6d8' requests='2' 
     wait='60'> 
<stream:features xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client'> 
    <mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'> 
     <mechanism>PLAIN</mechanism> 
     <mechanism>X-GOOGLE-TOKEN</mechanism> 
     <mechanism>X-OAUTH2</mechanism> 
    </mechanisms> 
</stream:features> 
</body> 

,这里是我从我自己的BOSH服务器获取

<body xmlns="http://jabber.org/protocol/httpbind" stream="7b7a5898-7d44-4459-b135-25d56db49f63" 
     sid="66aec966-aba0-4021-b728-ae1879caee3a" wait="60" ver="1.6" polling="35" inactivity="70" requests="2" hold="1" 
     from="gmail.com" content="text/xml; charset=utf-8" xmpp:restartlogic="true" xmlns:xmpp="urn:xmpp:xbosh" 
     window="2"> 
</body> 

我缺少什么,和有在连接到Facebook之前需要采取的其他步骤?

更新


找到一个例子Facebook+Node聊天通过kissrobber我知道了我的本地机器上运行,而是试图用strophe.js连接时,我仍然得到一个错误。

我得到一个“项目未找到”的响应,根据XMPP.org的原因可能是下列之一:

  1. “SID”无效
  2. “流”是无效
  3. “摆脱”比预期的窗口
  4. 连接管理器不能重新发送响应
  5. “关键”序列的上限值是无效

更新


这里是的strophe。使用JS纪录:

  • 旁遮普
  • 节点JS XMPP
  • 节点JS XMPP与pidgin_compatible:真正

旁遮普日志


Connecting status -> [1, null] facebook.html:24 
Strophe is connecting. facebook.html:20 
LOG: _throttledRequestHandler called with 1 requests facebook.html:20 
LOG: request id 1.0 posting facebook.html:20 
LOG: request id 1.0 state changed to 1 facebook.html:20 
SEND: <body rid='765843050' xmlns='http://jabber.org/protocol/httpbind' to='chat.facebook.com' xml:lang='en' wait='60' hold='1' content='text/xml; charset=utf-8' ver='1.6' xmpp:version='1.0' xmlns:xmpp='urn:xmpp:xbosh'/> facebook.html:20 
Connecting status -> [1, null] facebook.html:24 
Strophe is connecting. facebook.html:20 
LOG: _throttledRequestHandler called with 2 requests facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 2.0 posting facebook.html:20 
LOG: request id 2.0 state changed to 1 facebook.html:20 
SEND: <body rid='765843051' xmlns='http://jabber.org/protocol/httpbind' to='chat.facebook.com' xml:lang='en' wait='60' hold='1' content='text/xml; charset=utf-8' ver='1.6' xmpp:version='1.0' xmlns:xmpp='urn:xmpp:xbosh'/> facebook.html:20 
LOG: request id 2.1 state changed to 2 facebook.html:20 
LOG: request id 2.1 state changed to 3 facebook.html:20 
LOG: request id 2.1 state changed to 4 facebook.html:20 
LOG: removing request facebook.html:20 
LOG: _throttledRequestHandler called with 1 requests facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 2 should now be removed facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 2.1 got 200 facebook.html:20 
LOG: _connect_fb was called facebook.html:20 
RECV: <body xmlns='http://jabber.org/protocol/httpbind' inactivity='60' secure='true' authid='89141C54' content='text/xml; charset=utf-8' window='3' polling='15' sid='cb26009594cffefe0fe73cf4733ac2f7c8522701' requests='2' wait='60'><stream:features xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client'><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>X-FACEBOOK-PLATFORM</mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms></stream:features></body> facebook.html:20 
Connecting status -> [3, null] facebook.html:24 
LOG: _throttledRequestHandler called with 1 requests facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 3.0 posting facebook.html:20 
LOG: request id 3.0 state changed to 1 facebook.html:20 
SEND: <body rid='765843052' xmlns='http://jabber.org/protocol/httpbind' sid='cb26009594cffefe0fe73cf4733ac2f7c8522701'><auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='X-FACEBOOK-PLATFORM'/></body> facebook.html:20 
LOG: request id 3.1 state changed to 2 facebook.html:20 
LOG: request id 3.1 state changed to 3 facebook.html:20 
LOG: request id 3.1 state changed to 4 facebook.html:20 
LOG: removing request facebook.html:20 
LOG: _throttledRequestHandler called with 1 requests facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 3 should now be removed facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 3.1 got 200 facebook.html:20 
RECV: <body xmlns='http://jabber.org/protocol/httpbind'><challenge xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>dmVyc2lvbj0xJm1ldGhvZD1hdXRoLnhtcHBfbG9naW4mbm9uY2U9QjRGRjZBOTNDQUFENjlCMjYxQzkzNDczQjE5NUUwMDU=</challenge></body> facebook.html:20 
LOG: _throttledRequestHandler called with 1 requests facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 4.0 posting facebook.html:20 
LOG: request id 4.0 state changed to 1 facebook.html:20 
SEND: <body rid='765843053' xmlns='http://jabber.org/protocol/httpbind' sid='cb26009594cffefe0fe73cf4733ac2f7c8522701'><response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>YXBpX2tleT0zMzE1MzAyNzM1ODg1OTAmY2FsbF9pZD0xMzQzNzIzNzY5Jm1ldGhvZD1hdXRoLnhtcHBfbG9naW4mbm9uY2U9QjRGRjZBOTNDQUFENjlCMjYxQzkzNDczQjE5NUUwMDUmYWNjZXNzX3Rva2VuPUFBQUV0aG1nd2hXNEJBRTRkUHVubVRqOUJoV0V1WkN3WFpBUVBkYnFJSG9yUGRFNkdxUnhxSldvWkJLUHM2VmNqbUJSbnlWUGlFaG9BdDBLYmdLa2xpV0pQVWRmd3VCNENPcklwWkFkck9RWkRaRCZ2PTEuMA==</response></body> facebook.html:20 
LOG: request id 4.1 state changed to 2 facebook.html:20 
LOG: request id 4.1 state changed to 3 facebook.html:20 
LOG: request id 4.1 state changed to 4 facebook.html:20 
LOG: removing request facebook.html:20 
LOG: _throttledRequestHandler called with 1 requests facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 4 should now be removed facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 4.1 got 200 facebook.html:20 
RECV: <body xmlns='http://jabber.org/protocol/httpbind'><success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/></body> facebook.html:20 
LOG: SASL authentication succeeded. facebook.html:20 
LOG: _throttledRequestHandler called with 1 requests facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 5.0 posting facebook.html:20 
LOG: request id 5.0 state changed to 1 facebook.html:20 
SEND: <body rid='765843054' xmlns='http://jabber.org/protocol/httpbind' sid='cb26009594cffefe0fe73cf4733ac2f7c8522701' to='chat.facebook.com' xml:lang='en' xmpp:restart='true' xmlns:xmpp='urn:xmpp:xbosh'/> facebook.html:20 
LOG: request id 5.1 state changed to 2 facebook.html:20 
LOG: request id 5.1 state changed to 3 facebook.html:20 
LOG: request id 5.1 state changed to 4 facebook.html:20 
LOG: removing request facebook.html:20 
LOG: _throttledRequestHandler called with 1 requests facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 5 should now be removed facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 5.1 got 200 facebook.html:20 
RECV: <body xmlns='http://jabber.org/protocol/httpbind'><stream:features xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'/><session xmlns='urn:ietf:params:xml:ns:xmpp-session'/></stream:features></body> facebook.html:20 
LOG: _throttledRequestHandler called with 1 requests facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 6.0 posting facebook.html:20 
LOG: request id 6.0 state changed to 1 facebook.html:20 
SEND: <body rid='765843055' xmlns='http://jabber.org/protocol/httpbind' sid='cb26009594cffefe0fe73cf4733ac2f7c8522701'><iq type='set' id='_bind_auth_2' xmlns='jabber:client'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'/></iq></body> facebook.html:20 
LOG: request id 6.1 state changed to 2 facebook.html:20 
LOG: request id 6.1 state changed to 3 facebook.html:20 
LOG: request id 6.1 state changed to 4 facebook.html:20 
LOG: removing request facebook.html:20 
LOG: _throttledRequestHandler called with 1 requests facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 6 should now be removed facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 6.1 got 200 facebook.html:20 
RECV: <body xmlns='http://jabber.org/protocol/httpbind'><iq xmlns='jabber:client' type='result' id='_bind_auth_2'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><jid>[email protected]/168823c4_4C61C1205A1E5</jid></bind></iq></body> facebook.html:20 
LOG: _throttledRequestHandler called with 1 requests facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 7.0 posting facebook.html:20 
LOG: request id 7.0 state changed to 1 facebook.html:20 
SEND: <body rid='765843056' xmlns='http://jabber.org/protocol/httpbind' sid='cb26009594cffefe0fe73cf4733ac2f7c8522701'><iq type='set' id='_session_auth_2' xmlns='jabber:client'><session xmlns='urn:ietf:params:xml:ns:xmpp-session'/></iq></body> facebook.html:20 
LOG: request id 7.1 state changed to 2 facebook.html:20 
LOG: request id 7.1 state changed to 3 facebook.html:20 
LOG: request id 7.1 state changed to 4 facebook.html:20 
LOG: removing request facebook.html:20 
LOG: _throttledRequestHandler called with 1 requests facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 7 should now be removed facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 7.1 got 200 facebook.html:20 
RECV: <body xmlns='http://jabber.org/protocol/httpbind'><iq xmlns='jabber:client' type='result' id='_session_auth_2'><session xmlns='urn:ietf:params:xml:ns:xmpp-session'/></iq></body> facebook.html:20 
Connecting status -> [5, null] facebook.html:24 
Strophe is connected. facebook.html:20 
Send a message to [email protected]/168823c4_4C61C1205A1E5 to talk to me. facebook.html:20 
LOG: _throttledRequestHandler called with 1 requests facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 8.0 posting facebook.html:20 
LOG: request id 8.0 state changed to 1 facebook.html:20 
SEND: <body rid='765843057' xmlns='http://jabber.org/protocol/httpbind' sid='cb26009594cffefe0fe73cf4733ac2f7c8522701'><presence xmlns='jabber:client'/></body> facebook.html:20 
LOG: request id 8.1 state changed to 2 facebook.html:20 
LOG: request id 8.1 state changed to 3 facebook.html:20 
LOG: request id 8.1 state changed to 4 facebook.html:20 
LOG: removing request facebook.html:20 
LOG: _throttledRequestHandler called with 1 requests facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 8 should now be removed facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 8.1 got 200 facebook.html:20 
RECV: <body xmlns='http://jabber.org/protocol/httpbind'><presence xmlns='jabber:client' to='[email protected]/168823c4_4C61C1205A1E5' from='[email protected]'><x xmlns='vcard-temp:x:update'><photo>fe60b81022f853cc7feb596f443885e90f6631fe</photo></x></presence></body> facebook.html:20 
LOG: _throttledRequestHandler called with 1 requests facebook.html:20 
LOG: Request 1 timed out (secondary), restarting facebook.html:20 
LOG: request id 1.1 state changed to 4 facebook.html:20 
LOG: request id 9.1 posting facebook.html:20 
LOG: request id 9.1 state changed to 1 facebook.html:20 
SEND: <body rid='765843050' xmlns='http://jabber.org/protocol/httpbind' to='chat.facebook.com' xml:lang='en' wait='60' hold='1' content='text/xml; charset=utf-8' ver='1.6' xmpp:version='1.0' xmlns:xmpp='urn:xmpp:xbosh'/> facebook.html:20 
LOG: request id 9.2 state changed to 2 facebook.html:20 
LOG: request id 9.2 state changed to 3 facebook.html:20 
LOG: request id 9.2 state changed to 4 facebook.html:20 
LOG: removing request facebook.html:20 
LOG: _throttledRequestHandler called with 0 requests facebook.html:20 
LOG: request id 9 should now be removed facebook.html:20 
LOG: request id 9.2 got 200 facebook.html:20 
LOG: _connect_fb was called facebook.html:20 
RECV: <body xmlns='http://jabber.org/protocol/httpbind' inactivity='60' secure='true' authid='CE3FA949' content='text/xml; charset=utf-8' window='3' polling='15' sid='bb0248e53bf29aa66162aa2884e08ec3d6c2302a' requests='2' wait='60'><stream:features xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client'><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>X-FACEBOOK-PLATFORM</mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms></stream:features></body> facebook.html:20 
Connecting status -> [3, null] facebook.html:24 
LOG: _throttledRequestHandler called with 0 requests facebook.html:20 
LOG: request id 10.0 posting facebook.html:20 
LOG: request id 10.0 state changed to 1 facebook.html:20 
SEND: <body rid='765843058' xmlns='http://jabber.org/protocol/httpbind' sid='cb26009594cffefe0fe73cf4733ac2f7c8522701'><auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='X-FACEBOOK-PLATFORM'/></body> facebook.html:20 
LOG: request id 10.1 state changed to 2 facebook.html:20 
LOG: request id 10.1 state changed to 3 facebook.html:20 
LOG: request id 10.1 state changed to 3 facebook.html:20 
LOG: request id 10.1 state changed to 4 facebook.html:20 
LOG: removing request facebook.html:20 
LOG: _throttledRequestHandler called with 0 requests facebook.html:20 
LOG: request id 10 should now be removed facebook.html:20 
LOG: request id 10.1 got 200 facebook.html:20 
RECV: <body xmlns='http://jabber.org/protocol/httpbind'><presence xmlns='jabber:client' to='[email protected]/168823c4_4C61C1205A1E5' from='[email protected]'><x xmlns='vcard-temp:x:update'><photo>98addc5cda3a34a0ecd0b9e09ae900eddcbbb8ea</photo></x></presence><presence xmlns='jabber:client' to='[email protected]/168823c4_4C61C1205A1E5' from='[email protected]'><x xmlns='vcard-temp:x:update'><photo>105af5c5b0c5f028d93dca6e37f2c174dc4a62a5</photo></x></presence><presence xmlns='jabber:client' to='[email protected]/168823c4_4C61C1205A1E5' from='[email protected]'><x xmlns='vcard-temp:x:update'><photo>e5d4693f8712d828f1b18d61e7f138511fc04968</photo></x></presence><presence xmlns='jabber:client' to='[email protected]/168823c4_4C61C1205A1E5' from='[email protected]'><x xmlns='vcard-temp:x:update'><photo>6c235c1472d7b370771182085f9d0983b980e8b7</photo></x></presence><presence xmlns='jabber:client' to='[email protected]/168823c4_4C61C1205A1E5' from='[email protected]'><x xmlns='vcard-temp:x:update'><photo>2f36c33ac86713a73a910db55f9ecac00e19ae63</photo></x></presence><presence xmlns='jabber:client' to='[email protected]/168823c4_4C61C1205A1E5' from='[email protected]'><x xmlns='vcard-temp:x:update'><photo>eea1e5844ad62abad6043a39e8a3d66619490360</photo></x></presence><presence xmlns='jabber:client' to='[email protected]/168823c4_4C61C1205A1E5' from='[email protected]'><x xmlns='vcard-temp:x:update'><photo>af784e43277ded69c16dcc02bffec6bf883b6e71</photo></x></presence><presence xmlns='jabber:client' to='[email protected]/168823c4_4C61C1205A1E5' from='[email protected]'><x xmlns='vcard-temp:x:update'><photo>da16587560467f05f8b97810cbe0c59c01a1fb7c</photo></x></presence><presence xmlns='jabber:client' to='[email protected]/168823c4_4C61C1205A1E5' from='[email protected]'><x xmlns='vcard-temp:x:update'><photo>5177a3daefecf3f2d5cac28809f8186ff3168ca8</photo></x></presence></body> facebook.html:20 
LOG: no requests during idle cycle, sending blank request facebook.html:20 
LOG: request id 11.0 posting facebook.html:20 
LOG: request id 11.0 state changed to 1 facebook.html:20 
SEND: <body rid='765843059' xmlns='http://jabber.org/protocol/httpbind' sid='cb26009594cffefe0fe73cf4733ac2f7c8522701'/> facebook.html:20 
LOG: _throttledRequestHandler called with 1 requests facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
I sent [email protected]: TEST MESSAGE facebook.html:20 
LOG: request id 12.0 posting facebook.html:20 
LOG: request id 12.0 state changed to 1 facebook.html:20 
SEND: <body rid='765843060' xmlns='http://jabber.org/protocol/httpbind' sid='cb26009594cffefe0fe73cf4733ac2f7c8522701'><message to='[email protected]' type='chat' xmlns='jabber:client'><body>TEST MESSAGE</body></message></body> facebook.html:20 
LOG: request id 11.1 state changed to 2 facebook.html:20 
LOG: request id 11.1 state changed to 3 facebook.html:20 
LOG: request id 11.1 state changed to 4 facebook.html:20 
LOG: removing request facebook.html:20 
LOG: _throttledRequestHandler called with 1 requests facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 11 should now be removed facebook.html:20 
LOG: request id 11.1 got 200 facebook.html:20 
RECV: <body xmlns='http://jabber.org/protocol/httpbind'/> facebook.html:20 
LOG: request id 12.1 state changed to 2 facebook.html:20 
LOG: request id 12.1 state changed to 3 facebook.html:20 
LOG: request id 12.1 state changed to 4 facebook.html:20 
LOG: removing request facebook.html:20 
LOG: _throttledRequestHandler called with 0 requests facebook.html:20 
LOG: request id 12 should now be removed facebook.html:20 
LOG: request id 12.1 got 200 facebook.html:20 
RECV: <body xmlns='http://jabber.org/protocol/httpbind'><iq xmlns='jabber:client' to='[email protected]/168823c4_4C61C1205A1E5' from='chat.facebook.com' id='fbiq4C61C13A7D2DD' type='set'><own-message xmlns='http://www.facebook.com/xmpp/messages' to='[email protected]' self='true'><body>TEST MESSAGE</body></own-message></iq></body> facebook.html:20 
LOG: no requests during idle cycle, sending blank request facebook.html:20 
LOG: request id 13.0 posting facebook.html:20 
LOG: request id 13.0 state changed to 1 facebook.html:20 
SEND: <body rid='765843061' xmlns='http://jabber.org/protocol/httpbind' sid='cb26009594cffefe0fe73cf4733ac2f7c8522701'/> 

NODE日志


Connecting status -> [1, null] facebook.html:24 
Strophe is connecting. facebook.html:20 
LOG: _throttledRequestHandler called with 1 requests facebook.html:20 
LOG: request id 1.0 posting facebook.html:20 
LOG: request id 1.0 state changed to 1 facebook.html:20 
SEND: <body rid='627577970' xmlns='http://jabber.org/protocol/httpbind' to='chat.facebook.com' xml:lang='en' wait='60' hold='1' content='text/xml; charset=utf-8' ver='1.6' xmpp:version='1.0' xmlns:xmpp='urn:xmpp:xbosh'/> facebook.html:20 
Connecting status -> [1, null] facebook.html:24 
Strophe is connecting. facebook.html:20 
LOG: _throttledRequestHandler called with 2 requests facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 2.0 posting facebook.html:20 
LOG: request id 2.0 state changed to 1 facebook.html:20 
SEND: <body rid='627577971' xmlns='http://jabber.org/protocol/httpbind' to='chat.facebook.com' xml:lang='en' wait='60' hold='1' content='text/xml; charset=utf-8' ver='1.6' xmpp:version='1.0' xmlns:xmpp='urn:xmpp:xbosh'/> facebook.html:20 
LOG: request id 1.1 state changed to 2 facebook.html:20 
LOG: request id 1.1 state changed to 3 facebook.html:20 
LOG: request id 1.1 state changed to 4 facebook.html:20 
LOG: removing request facebook.html:20 
LOG: _throttledRequestHandler called with 1 requests facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 1 should now be removed facebook.html:20 
LOG: request id 1.1 got 200 facebook.html:20 
LOG: _connect_fb was called facebook.html:20 
RECV: <body xmlns='http://jabber.org/protocol/httpbind' xmlns:xmpp='urn:xmpp:xbosh' stream='fc2182d8-124c-432f-aff0-bf8f58cd580d' sid='c8a300fc-28b7-49cc-8373-a8b3db5f894b' wait='60' ver='1.6' polling='35' inactivity='70' requests='2' hold='1' from='chat.facebook.com' content='text/xml; charset=utf-8' xmpp:restartlogic='true' window='2'/> facebook.html:20 
LOG: _throttledRequestHandler called with 2 requests facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 3.0 posting facebook.html:20 
LOG: request id 3.0 state changed to 1 facebook.html:20 
SEND: <body rid='627577972' xmlns='http://jabber.org/protocol/httpbind' sid='c8a300fc-28b7-49cc-8373-a8b3db5f894b'/> facebook.html:20 
LOG: request id 2.1 state changed to 2 facebook.html:20 
LOG: request id 2.1 state changed to 3 facebook.html:20 
LOG: request id 2.1 state changed to 4 facebook.html:20 
LOG: removing request facebook.html:20 
LOG: _throttledRequestHandler called with 1 requests facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 2 should now be removed facebook.html:20 
LOG: request id 2.1 got 200 facebook.html:20 
LOG: _connect_fb was called facebook.html:20 
RECV: <body xmlns='http://jabber.org/protocol/httpbind' xmlns:xmpp='urn:xmpp:xbosh' stream='0739f763-51dc-4fa6-ae73-9c422898f8df' sid='f168a14f-c4e4-4796-b815-69cacddb82a2' wait='60' ver='1.6' polling='35' inactivity='70' requests='2' hold='1' from='chat.facebook.com' content='text/xml; charset=utf-8' xmpp:restartlogic='true' window='2'/> facebook.html:20 
LOG: _throttledRequestHandler called with 2 requests facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 4.0 posting facebook.html:20 
LOG: request id 4.0 state changed to 1 facebook.html:20 
SEND: <body rid='627577973' xmlns='http://jabber.org/protocol/httpbind' sid='c8a300fc-28b7-49cc-8373-a8b3db5f894b'/> facebook.html:20 
LOG: request id 3.1 state changed to 2 facebook.html:20 
LOG: request id 3.1 state changed to 3 facebook.html:20 
LOG: request id 3.1 state changed to 4 facebook.html:20 
LOG: removing request facebook.html:20 
LOG: _throttledRequestHandler called with 1 requests facebook.html:20 
LOG: _processRequest: first request has readyState of 1 facebook.html:20 
LOG: request id 3 should now be removed facebook.html:20 
LOG: request id 3.1 got 200 facebook.html:20 
LOG: _connect_fb was called facebook.html:20 
RECV: <body xmlns='http://jabber.org/protocol/httpbind' condition='item-not-found' type='terminate'/> facebook.html:20 
Connecting status -> [2, "item-not-found"] facebook.html:24 
     ERR:[Strophe failed to connect!!!] - Strophe.Status.CONNFAIL facebook.html:20 
LOG: User connection callback caused an exception: TypeError: Cannot set property 'value' of undefined facebook.html:20 
LOG: request id 4.1 state changed to 2 facebook.html:20 
LOG: request id 4.1 state changed to 3 facebook.html:20 
LOG: request id 4.1 state changed to 4 facebook.html:20 
LOG: removing request facebook.html:20 
LOG: _throttledRequestHandler called with 0 requests facebook.html:20 
LOG: request id 4 should now be removed facebook.html:20 
LOG: request id 4.1 got 200 facebook.html:20 
LOG: _connect_fb was called facebook.html:20 
RECV: <body xmlns='http://jabber.org/protocol/httpbind' condition='item-not-found' message='Invalid packet' type='terminate'/> facebook.html:20 
Connecting status -> [2, "item-not-found"] facebook.html:24 
     ERR:[Strophe failed to connect!!!] - Strophe.Status.CONNFAIL facebook.html:20 
LOG: User connection callback caused an exception: TypeError: Cannot set property 'value' of undefined 

回答

2

经过奋斗,然后我得到它的工作的一个星期,我切换到punjab而不是节点服务器和一切工作正常。所以基本上结构是:

Strophe.js < - >的Apache(代理)< - >旁遮普< - >实XMPP服务器

1
LOG: request id 4.0 posting 

LOG:请求ID 4.0状态变为1 SEND: 问题看起来这packet.Here应该是验证请求,但其空请求。

- >尝试获取最新版本。
- >并确保你调用的方法是“facebookConnect = function(jid,callback,wait,hold,apiKey,accessToken)”
- >应该调用这个方法。

function login() { 
    FB.getLoginStatus(function(response) { 
     if (response.authResponse) { 
     connection.facebookConnect(
      response.authResponse.userId + "@chat.facebook.com/test", 
      onConnect, 
      60, 
      1, 
      FB._apiKey, 
      response.authResponse.accessToken); 
     FB.api('/me/friends', function(response) { 
      var to = $("#to"); 
      to.empty(); 
      $.each(response.data, function(i,v){ 
      to.append($("<option value='" + v.id + "'>" + v.name + "</option>")); 
      }); 
     }); 

     } else { 
     connection.disconnect(); 
     } 
    }); 
} 
+0

谢谢,回复...我会试着让你知道 – 2012-07-29 05:22:24

+0

所有看起来不错,但仍然没有去...切换到旁遮普 – 2012-07-29 07:23:15

2

节点XMPP协议,炉腹的作者在这里。

尝试使用pidgin_compatible运行服务器:true(在配置文件中)。

这也可能是在jquery.xmpp.js当波什服务器发送一个空体作为第一反应,而不是<流不处理的情况下的一个错误:功能/ >包。根据BOSH规范,两者都是有效的。您可以尝试使用jquery.xmpp.js项目提交bug。尽管node-xmpp-bosh应该可以和strophe.js一起工作。如果没有,你可以提交一个错误。

+0

感谢您的答复,我试过了,使用strophe.js和它没有工作......我会从旁遮普回来并发布日志。 – 2012-07-31 07:07:59

+0

请参阅我的更新中的日志 – 2012-07-31 09:13:53

+0

@ShlomiSchwartz您可以发布波什服务器日志吗? – dhruvbird 2012-07-31 14:37:30