【问题标题】:XMPP client Not connecting - using Node Bosh serverXMPP 客户端未连接 - 使用 Node Bosh 服务器
【发布时间】:2012-07-20 23:25:28
【问题描述】:

我正在尝试创建一个 facebook/gtalk 自定义聊天窗口。已经创建了一个具有 xmpp_login 权限的 Facebook 应用程序并得到了我的用户的批准。

我正在使用以下内容:

  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 之前我还需要采取什么其他步骤吗?

更新


找到了一个由kissrobber 提供的Facebook+Node 聊天示例我让它在我的本地机器上运行,但在尝试连接strophe.js 时仍然出现错误。

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

  1. “sid”无效
  2. “流”无效
  3. 'rid'大于预期窗口的上限
  4. 连接管理器无法重新发送响应
  5. 'key' 序列无效

更新


这里是使用 strophe.js 的日志:

  • 旁遮普
  • 节点 js XMPP
  • Node js XMPP 与 pidgin_compatible: true

旁遮普日志


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>-626048146@chat.facebook.com/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 -626048146@chat.facebook.com/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='-626048146@chat.facebook.com/168823c4_4C61C1205A1E5' from='-744782602@chat.facebook.com'><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='-626048146@chat.facebook.com/168823c4_4C61C1205A1E5' from='-635374690@chat.facebook.com'><x xmlns='vcard-temp:x:update'><photo>98addc5cda3a34a0ecd0b9e09ae900eddcbbb8ea</photo></x></presence><presence xmlns='jabber:client' to='-626048146@chat.facebook.com/168823c4_4C61C1205A1E5' from='-1009827716@chat.facebook.com'><x xmlns='vcard-temp:x:update'><photo>105af5c5b0c5f028d93dca6e37f2c174dc4a62a5</photo></x></presence><presence xmlns='jabber:client' to='-626048146@chat.facebook.com/168823c4_4C61C1205A1E5' from='-1021952545@chat.facebook.com'><x xmlns='vcard-temp:x:update'><photo>e5d4693f8712d828f1b18d61e7f138511fc04968</photo></x></presence><presence xmlns='jabber:client' to='-626048146@chat.facebook.com/168823c4_4C61C1205A1E5' from='-503274069@chat.facebook.com'><x xmlns='vcard-temp:x:update'><photo>6c235c1472d7b370771182085f9d0983b980e8b7</photo></x></presence><presence xmlns='jabber:client' to='-626048146@chat.facebook.com/168823c4_4C61C1205A1E5' from='-573139239@chat.facebook.com'><x xmlns='vcard-temp:x:update'><photo>2f36c33ac86713a73a910db55f9ecac00e19ae63</photo></x></presence><presence xmlns='jabber:client' to='-626048146@chat.facebook.com/168823c4_4C61C1205A1E5' from='-539881693@chat.facebook.com'><x xmlns='vcard-temp:x:update'><photo>eea1e5844ad62abad6043a39e8a3d66619490360</photo></x></presence><presence xmlns='jabber:client' to='-626048146@chat.facebook.com/168823c4_4C61C1205A1E5' from='-100000177388719@chat.facebook.com'><x xmlns='vcard-temp:x:update'><photo>af784e43277ded69c16dcc02bffec6bf883b6e71</photo></x></presence><presence xmlns='jabber:client' to='-626048146@chat.facebook.com/168823c4_4C61C1205A1E5' from='-549474003@chat.facebook.com'><x xmlns='vcard-temp:x:update'><photo>da16587560467f05f8b97810cbe0c59c01a1fb7c</photo></x></presence><presence xmlns='jabber:client' to='-626048146@chat.facebook.com/168823c4_4C61C1205A1E5' from='-1366794447@chat.facebook.com'><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 -100000177388719@chat.facebook.com: 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='-100000177388719@chat.facebook.com' 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='-626048146@chat.facebook.com/168823c4_4C61C1205A1E5' from='chat.facebook.com' id='fbiq4C61C13A7D2DD' type='set'><own-message xmlns='http://www.facebook.com/xmpp/messages' to='-100000177388719@chat.facebook.com' 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'/>

节点日志


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

【问题讨论】:

    标签: javascript facebook xmpp


    【解决方案1】:

    经过一周多的努力,我让它开始工作,我切换到punjab 而不是节点服务器,一切正常。所以基本上结构是:

    Strophe.js Apache(代理) punjab Facebook XMPP 服务器

    【讨论】:

      【解决方案2】:

      node-xmpp-bosh 的作者在这里。

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

      这可能是 jquery.xmpp.js 中的一个错误,它无法处理 bosh 服务器发送空正文作为第一个响应而不是 数据包的情况。根据 BOSH 规范,两者都是有效的。您可以尝试使用 jquery.xmpp.js 项目提交错误。 node-xmpp-bosh 应该可以与 strophe.js 一起使用。如果没有,您可能会提交错误。

      【讨论】:

      • 感谢您的回复,我使用 ,strophe.js 进行了尝试,但没有成功...我将从旁遮普语回滚并发布日志。
      • @ShlomiSchwartz 您可以发布 bosh 服务器日志吗?
      • 日志打印在标准输出上。您可以将它们重定向到文件。确保使用 --logging=DEBUG 运行以确保打印调试日志。
      • 对不起,回复晚了,(我病了)......我改变了 bosh.js.conf 像这样:.....主机:'0.0.0.0',路径:/^\ /http-bind(\/+)?$/, logging: 'DEBUG', .... 但是我看不到日志记录,我做错了什么?
      • @ShlomiSchwartz 希望你早日康复!您应该能够在标准输出上看到日志记录。尝试使用 --logging=TRACE 运行(在命令行上)。如果您仍然看不到任何内容,则可能有问题。
      【解决方案3】:
      LOG: request id 4.0 posting 
      

      LOG:请求 id 4.0 状态更改为 1 发送: 此数据包中出现问题。这里应该是 Auth Request 但它的请求是空的。

      ->尝试获取最新版本。
      ->并确保您调用的是什么方法“facebookConnect = 函数(jid、回调、等待、保持、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();
            }
          });
      }
      

      【讨论】:

      • 一切看起来都很好,但还是不行......切换到旁遮普语
      猜你喜欢
      • 1970-01-01
      • 2015-11-20
      • 2013-08-27
      • 1970-01-01
      • 2014-10-12
      • 2015-01-26
      • 2012-04-14
      • 2014-04-29
      • 2020-11-20
      相关资源
      最近更新 更多