0

まず、私と一緒にこの問題を見ていただきありがとうございます。

現在、strophe.js を使用して BOSH 接続を介してパンジャブに接続しています。これにより、最終的にメッセージが Openfire に転送されます。サーバーで事前にバインドし、strophe で接続にアタッチしています。これは最初は問題なく機能します。メッセージを送受信でき、アイドル状態の ping を取得すると、正常に応答できます。しかし、しばらくすると、私は切断されます。

Punjab のログを調べたところ、strophe からメッセージを送信したときに、Punjab から httpbind の確認応答が常に得られるとは限らないようです。Strophe は想定どおりに約 60 秒間待機し、同じ ID を持つ完全な複製であるメッセージの再送信を試みます。Punjab がメッセージを認識していないため、メッセージを受信したかどうかがわからないため、これは理にかなっています。ただし、何らかの理由で、Punjab はこの重複メッセージを取得し、RID が正しくない新しいメッセージであると見なし、他のメッセージと同様に内部 RID カウンターをインクリメントします。さらに、メッセージを Openfire サーバーに再度転送しますが、私が知る限り、これが大きな影響を与えることはありません。最後に、これが何度か起こった後、

私の質問は、パンジャブが一部のメッセージを本来あるべきように認識していないのはなぜですか - <body xmlns='http://jabber.org/protocol/httpbind'/>strophe に戻ることです。

このプロセスは、以下のログの例で詳しく説明されています。

    2012-06-22 20:17:23-0400 [HTTPChannel,21,127.0.0.1] HEADERS 1340410643.66:                 Punjab gets a message from the HTTP Bind (this is why we are observing activity in HTTPChannel)
    2012-06-22 20:17:23-0400 [HTTPChannel,21,127.0.0.1] {'origin': 'http://172.16.160.246', 'content-length': '191', 'accept-language': 'en-US,en;q=0.8', 'accept-encoding': 'gzip,deflate,sdch', 'x-forwarded-host': '172.16.160.246', 'x-forwarded-for': '172.16.122.9', 'host': '127.0.0.1:5280', 'accept': '*/*', 'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5', 'accept-charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'connection': 'Keep-Alive', 'referer': 'http://172.16.160.246/MySite/Viewers/InteractiveView?programGuideId=486', 'cookie': 'ASP.NET_SessionId=c4ioeuw2azw21lkedv0nbwlt; .MySiteUniqueCookie=92416C9E3804DF3F6B5661F5B6447314BA070C1FE9BF3D6830AA256AFFA84CAB691B1E3746DBFD4E99692CC18F831C89810CDF256CD12EAF3EA351FEF240605589BE9AE835B9D862265A1672749B5DF9E7AADEE8BEC95006A410CDA5D25271964C9EE065AB968AB3C9521BC9D1059D545FA40575FB477AC3FFDD4F4A702334D2A83C9C90', 'x-forwarded-server': 'CODEMONKEY.mydomain.com', 'content-type': 'application/xml'}
    2012-06-22 20:17:23-0400 [HTTPChannel,21,127.0.0.1] HTTPB POST :                                        This is the POST message coming from the BOSH connection
    2012-06-22 20:17:23-0400 [HTTPChannel,21,127.0.0.1]                                                                    You can see that it is in an httpbind protocol body
                    <body rid='1211827046' xmlns='http://jabber.org/protocol/httpbind' sid='fb03e4779f4b9a4fe15fbf09d5905f455cc54919'>
                                    <iq type='result' to='codemonkey' id='511-862' xmlns='jabber:client'/>
                    </body>
    2012-06-22 20:17:23-0400 [HTTPChannel,21,127.0.0.1] 1211827046
    2012-06-22 20:17:23-0400 [HTTPChannel,21,127.0.0.1]                                                                    Here, Punjab strips the httpbind body and sends the root message directly to OpenFire
                    SID: fb03e4779f4b9a4fe15fbf09d5905f455cc54919 =>                                                      using the direct session connection Punjab has set up for this user (evidenced by the SID).
                    SEND: "
                    <iq xmlns='jabber:client' to='codemonkey' type='result' id='511-862'/>"


                    HOWEVER, HERE WE ARE MISSING THE HTTPBIND CONFIRMATION THAT SHOULD BE SENT BACK TO STROPHE, LETTING IT KNOW THAT THE MESSAGE WAS FORWARDED
                    THUS, STROPHE SENDS THE SAME MESSAGE AGAIN WITH THE SAME RID, THINKING THAT PUNJAB NEVER GOT THE FIRST ONE.


    2012-06-22 20:18:28-0400 [HTTPChannel,22,127.0.0.1] HEADERS 1340410708.95:                 Punjab gets a message from the HTTP Bind (this is strophes second attempt at sending the message)
    2012-06-22 20:18:28-0400 [HTTPChannel,22,127.0.0.1] {'origin': 'http://172.16.160.246', 'content-length': '191', 'accept-language': 'en-US,en;q=0.8', 'accept-encoding': 'gzip,deflate,sdch', 'x-forwarded-host': '172.16.160.246', 'x-forwarded-for': '172.16.122.9', 'host': '127.0.0.1:5280', 'accept': '*/*', 'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5', 'accept-charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'connection': 'Keep-Alive', 'referer': 'http://172.16.160.246/MySite/Viewers/InteractiveView?programGuideId=486', 'cookie': 'ASP.NET_SessionId=c4ioeuw2azw21lkedv0nbwlt; .MySiteUniqueCookie=92416C9E3804DF3F6B5661F5B6447314BA070C1FE9BF3D6830AA256AFFA84CAB691B1E3746DBFD4E99692CC18F831C89810CDF256CD12EAF3EA351FEF240605589BE9AE835B9D862265A1672749B5DF9E7AADEE8BEC95006A410CDA5D25271964C9EE065AB968AB3C9521BC9D1059D545FA40575FB477AC3FFDD4F4A702334D2A83C9C90', 'x-forwarded-server': 'CODEMONKEY.mydomain.com', 'content-type': 'application/xml'}
    2012-06-22 20:18:28-0400 [HTTPChannel,22,127.0.0.1] HTTPB POST :
    2012-06-22 20:18:28-0400 [HTTPChannel,22,127.0.0.1] 
                    <body rid='1211827046' xmlns='http://jabber.org/protocol/httpbind' sid='fb03e4779f4b9a4fe15fbf09d5905f455cc54919'>
                                    <iq type='result' to='codemonkey' id='511-862' xmlns='jabber:client'/>
                    </body>
    2012-06-22 20:18:28-0400 [HTTPChannel,22,127.0.0.1] 1211827046
    2012-06-22 20:18:28-0400 [HTTPChannel,22,127.0.0.1] 
                    SID: fb03e4779f4b9a4fe15fbf09d5905f455cc54919 =>                                                      PUNJAB SENDS THIS TO OPENFIRE AS WELL, EVIDENCE THAT PUNJAB FAILS TO DETECT THAT THIS IS A DUPLICATE MESSAGE
                    SEND: "                                                                                                                                                 It seems that Openfire must disregard this, considering that we haven’t seen issues with openfire receiving these messages.
                    <iq xmlns='jabber:client' to='codemonkey' type='result' id='511-862'/>"               and haven’t seen duplicate messages through chat or anything.
    2012-06-22 20:18:28-0400 [HTTPChannel,22,127.0.0.1]        RETURN HTTPB 1340410708.95:
    2012-06-22 20:18:28-0400 [HTTPChannel,22,127.0.0.1]                                                                    PUNJAB SENDS OUT THE HTTPBIND ACKNOWLEDGEMENT, AS IT SHOULD HAVE THE FIRST TIME.
                    <body xmlns='http://jabber.org/protocol/httpbind'/>
    2012-06-22 20:18:28-0400 [HTTPChannel,22,127.0.0.1] 1211827046
    2012-06-22 20:18:28-0400 [HTTPChannel,22,127.0.0.1] 127.0.0.1 - - [23/Jun/2012:00:18:28 +0000] "POST /bosh HTTP/1.1" 200 51 "http://172.16.160.246/MySite/Viewers/InteractiveView?programGuideId=486" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5"


    Since Punjab sees the duplicate request as a new request, it has incremented its internal RID counter for both, meaning we are now off by 1 RID (each message sent from strophe is supposed to increment the RID value by 1). The first few times this happens, the connection remains because Punjab has a tolerance window of about 5. Eventually, we get out of this window, and Punjab closes the connection.


    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] HEADERS 1340410993.78:
    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] {'origin': 'http://172.16.160.246', 'content-length': '191', 'accept-language': 'en-US,en;q=0.8', 'accept-encoding': 'gzip,deflate,sdch', 'x-forwarded-host': '172.16.160.246', 'x-forwarded-for': '172.16.122.9', 'host': '127.0.0.1:5280', 'accept': '*/*', 'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5', 'accept-charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'connection': 'Keep-Alive', 'referer': 'http://172.16.160.246/MySite/Viewers/InteractiveView?programGuideId=486', 'cookie': 'ASP.NET_SessionId=c4ioeuw2azw21lkedv0nbwlt; .MySiteUniqueCookie=0772CAEB889BB1F853371E4153AC6972595A3A548BAE87D3F8D86AFBB5B88B4C0B8FD61F971816D4678388499B0A71E2517048261B07AD393D9EECDA199FA7EA51CBCD17299047473C6B9A9667BAF9367059319B4F0292B57238A0E2DB2AC737B12E530EAAE85732B1070E1F563E7675A82DF41C57A2C705B358328BE477C581D02DC714', 'x-forwarded-server': 'CODEMONKEY.mydomain.com', 'content-type': 'application/xml'}
    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] HTTPB POST :
    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] 
                    <body rid='1211827048' xmlns='http://jabber.org/protocol/httpbind' sid='fb03e4779f4b9a4fe15fbf09d5905f455cc54919'>
                                    <iq type='result' to='codemonkey' id='600-864' xmlns='jabber:client'/>
                    </body>
    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] 1211827048
    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] This rid is invalid 1211827048 1211827052                  ITS INTERNAL RID COUNTER HAS INCREASED TO 52 WHILE WE ARE AT 48.
    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] HTTPB Error 404                                                                   The tolerance has been exceeded and the connection is closed.
    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] 127.0.0.1 - - [23/Jun/2012:00:23:13 +0000] "POST /bosh HTTP/1.1" 404 - "http://172.16.160.246/MySite/Viewers/InteractiveView?programGuideId=486" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5"


    Since Punjab sees the duplicate request as a new request, it has incremented its internal RID counter for both, meaning we are now off by 1 RID (each message sent from strophe is supposed to increment the RID value by 1). The first few times this happens, the connection remains because Punjab has a tolerance window of about 5. Eventually, we get out of this window, and Punjab closes the connection.


    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] HEADERS 1340410993.78:
    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] {'origin': 'http://172.16.160.246', 'content-length': '191', 'accept-language': 'en-US,en;q=0.8', 'accept-encoding': 'gzip,deflate,sdch', 'x-forwarded-host': '172.16.160.246', 'x-forwarded-for': '172.16.122.9', 'host': '127.0.0.1:5280', 'accept': '*/*', 'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5', 'accept-charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'connection': 'Keep-Alive', 'referer': 'http://172.16.160.246/MySite/Viewers/InteractiveView?programGuideId=486', 'cookie': 'ASP.NET_SessionId=c4ioeuw2azw21lkedv0nbwlt; .MySiteUniqueCookie=0772CAEB889BB1F853371E4153AC6972595A3A548BAE87D3F8D86AFBB5B88B4C0B8FD61F971816D4678388499B0A71E2517048261B07AD393D9EECDA199FA7EA51CBCD17299047473C6B9A9667BAF9367059319B4F0292B57238A0E2DB2AC737B12E530EAAE85732B1070E1F563E7675A82DF41C57A2C705B358328BE477C581D02DC714', 'x-forwarded-server': 'CODEMONKEY.mydomain.com', 'content-type': 'application/xml'}
    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] HTTPB POST :
    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] 
                    <body rid='1211827048' xmlns='http://jabber.org/protocol/httpbind' sid='fb03e4779f4b9a4fe15fbf09d5905f455cc54919'>
                                    <iq type='result' to='codemonkey' id='600-864' xmlns='jabber:client'/>
                    </body>
    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] 1211827048
    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] This rid is invalid 1211827048 1211827052                  ITS INTERNAL RID COUNTER HAS INCREASED TO 52 WHILE WE ARE AT 48.
    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] HTTPB Error 404                                                                   The tolerance has been exceeded and the connection is closed.
    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] 127.0.0.1 - - [23/Jun/2012:00:23:13 +0000] "POST /bosh HTTP/1.1" 404 - "http://172.16.160.246/MySite/Viewers/InteractiveView?programGuideId=486" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5"

どんな助けでも大歓迎です。おそらく私は、パンジャーブが何をしているのかを完全には理解していません。Punjab は、httpbind 本体にパッケージ化された strophe から BOSH 経由でメッセージを取得しているように思えます。httpbind 本文からメッセージを抽出し、ダイレクト セッションを介して生のメッセージを Openfire に転送します。最後に、<body xmlns='http://jabber.org/protocol/httpbind'/>メッセージを受信して​​処理したことを strophe に知らせるために、生のメッセージを送り返すことで strophe に応答します。メッセージが Openfire から着信すると、[HTTPChannel,21,127.0.0.1] ヘッダーではなく、[XmlStream,client] ヘッダーの下のログに表示されます。これらは直接セッション接続を介して Openfire から受信され、Punjab はそれらを httpbind 本文にラップし、BOSH を介して strophe に転送します。その後、Strophe<body xmlns='http://jabber.org/protocol/httpbind'/>はトランザクションを確認する空の応答を返します。

では、パンジャブ州が時々メッセージの確認に失敗するのはなぜでしょうか? また、重複したメッセージを重複として認識せず、再送信して誤って RID カウンターをインクリメントするのではなく、確認応答を返すだけではないのはなぜですか? 改めまして、ここまでお読みいただきありがとうございます。私は機知に富んでおり、どんな助けもいただければ幸いです。

失敗の完全なパンジャブ語ログは次のとおりです。

    2012-06-22 20:19:42-0400 [HTTPChannel,22,127.0.0.1] HEADERS 1340410782.18:
    2012-06-22 20:19:42-0400 [HTTPChannel,22,127.0.0.1] {'origin': 'http://172.16.160.246', 'content-length': '191', 'accept-language': 'en-US,en;q=0.8', 'accept-encoding': 'gzip,deflate,sdch', 'x-forwarded-host': '172.16.160.246', 'x-forwarded-for': '172.16.122.9', 'host': '127.0.0.1:5280', 'accept': '*/*', 'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5', 'accept-charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'connection': 'Keep-Alive', 'referer': 'http://172.16.160.246/MySite/Viewers/InteractiveView?programGuideId=486', 'cookie': 'ASP.NET_SessionId=c4ioeuw2azw21lkedv0nbwlt; .MySiteUniqueCookie=92416C9E3804DF3F6B5661F5B6447314BA070C1FE9BF3D6830AA256AFFA84CAB691B1E3746DBFD4E99692CC18F831C89810CDF256CD12EAF3EA351FEF240605589BE9AE835B9D862265A1672749B5DF9E7AADEE8BEC95006A410CDA5D25271964C9EE065AB968AB3C9521BC9D1059D545FA40575FB477AC3FFDD4F4A702334D2A83C9C90', 'x-forwarded-server': 'CODEMONKEY.mydomain.com', 'content-type': 'application/xml'}
    2012-06-22 20:19:42-0400 [HTTPChannel,22,127.0.0.1] HTTPB POST :
    2012-06-22 20:19:42-0400 [HTTPChannel,22,127.0.0.1] 
        <body rid='1211827046' xmlns='http://jabber.org/protocol/httpbind' sid='fb03e4779f4b9a4fe15fbf09d5905f455cc54919'>
            <iq type='result' to='codemonkey' id='511-862' xmlns='jabber:client'/>
        </body>
    2012-06-22 20:19:42-0400 [HTTPChannel,22,127.0.0.1] 1211827046
    2012-06-22 20:19:42-0400 [HTTPChannel,22,127.0.0.1]        RETURN HTTPB 1340410782.2:
    2012-06-22 20:19:42-0400 [HTTPChannel,22,127.0.0.1] 
        <body xmlns='http://jabber.org/protocol/httpbind'>
            <iq xmlns='jabber:client' from='codemonkey' type='get' id='64-863' to='MySiteadmin@codemonkey/5da9d909-46e0-4dac-8f02-a4113e6490e5'>
                <ping xmlns='urn:xmpp:ping'/>
            </iq>
        </body>
    2012-06-22 20:19:42-0400 [HTTPChannel,22,127.0.0.1] 1211827046
    2012-06-22 20:19:42-0400 [HTTPChannel,22,127.0.0.1] 127.0.0.1 - - [23/Jun/2012:00:19:42 +0000] "POST /bosh HTTP/1.1" 200 222 "http://172.16.160.246/MySite/Viewers/InteractiveView?programGuideId=486" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5"
    2012-06-22 20:19:42-0400 [HTTPChannel,22,127.0.0.1] HEADERS 1340410782.34:
    2012-06-22 20:19:42-0400 [HTTPChannel,22,127.0.0.1] {'origin': 'http://172.16.160.246', 'content-length': '190', 'accept-language': 'en-US,en;q=0.8', 'accept-encoding': 'gzip,deflate,sdch', 'x-forwarded-host': '172.16.160.246', 'x-forwarded-for': '172.16.122.9', 'host': '127.0.0.1:5280', 'accept': '*/*', 'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5', 'accept-charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'connection': 'Keep-Alive', 'referer': 'http://172.16.160.246/MySite/Viewers/InteractiveView?programGuideId=486', 'cookie': 'ASP.NET_SessionId=c4ioeuw2azw21lkedv0nbwlt; .MySiteUniqueCookie=92416C9E3804DF3F6B5661F5B6447314BA070C1FE9BF3D6830AA256AFFA84CAB691B1E3746DBFD4E99692CC18F831C89810CDF256CD12EAF3EA351FEF240605589BE9AE835B9D862265A1672749B5DF9E7AADEE8BEC95006A410CDA5D25271964C9EE065AB968AB3C9521BC9D1059D545FA40575FB477AC3FFDD4F4A702334D2A83C9C90', 'x-forwarded-server': 'CODEMONKEY.mydomain.com', 'content-type': 'application/xml'}
    2012-06-22 20:19:42-0400 [HTTPChannel,22,127.0.0.1] HTTPB POST :
    2012-06-22 20:19:42-0400 [HTTPChannel,22,127.0.0.1] 
        <body rid='1211827047' xmlns='http://jabber.org/protocol/httpbind' sid='fb03e4779f4b9a4fe15fbf09d5905f455cc54919'>
            <iq type='result' to='codemonkey' id='64-863' xmlns='jabber:client'/>
        </body>
    2012-06-22 20:19:42-0400 [HTTPChannel,22,127.0.0.1] 1211827047
    2012-06-22 20:19:42-0400 [HTTPChannel,22,127.0.0.1] 
        SID: fb03e4779f4b9a4fe15fbf09d5905f455cc54919 => 
        SEND: "
        <iq xmlns='jabber:client' to='codemonkey' type='result' id='64-863'/>"





    2012-06-22 20:20:50-0400 [HTTPChannel,21,127.0.0.1] HEADERS 1340410850.19:
    2012-06-22 20:20:50-0400 [HTTPChannel,21,127.0.0.1] {'origin': 'http://172.16.160.246', 'content-length': '190', 'accept-language': 'en-US,en;q=0.8', 'accept-encoding': 'gzip,deflate,sdch', 'x-forwarded-host': '172.16.160.246', 'x-forwarded-for': '172.16.122.9', 'host': '127.0.0.1:5280', 'accept': '*/*', 'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5', 'accept-charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'connection': 'Keep-Alive', 'referer': 'http://172.16.160.246/MySite/Viewers/InteractiveView?programGuideId=486', 'cookie': 'ASP.NET_SessionId=c4ioeuw2azw21lkedv0nbwlt; .MySiteUniqueCookie=0772CAEB889BB1F853371E4153AC6972595A3A548BAE87D3F8D86AFBB5B88B4C0B8FD61F971816D4678388499B0A71E2517048261B07AD393D9EECDA199FA7EA51CBCD17299047473C6B9A9667BAF9367059319B4F0292B57238A0E2DB2AC737B12E530EAAE85732B1070E1F563E7675A82DF41C57A2C705B358328BE477C581D02DC714', 'x-forwarded-server': 'CODEMONKEY.mydomain.com', 'content-type': 'application/xml'}
    2012-06-22 20:20:50-0400 [HTTPChannel,21,127.0.0.1] HTTPB POST :
    2012-06-22 20:20:50-0400 [HTTPChannel,21,127.0.0.1] 
        <body rid='1211827047' xmlns='http://jabber.org/protocol/httpbind' sid='fb03e4779f4b9a4fe15fbf09d5905f455cc54919'>
            <iq type='result' to='codemonkey' id='64-863' xmlns='jabber:client'/>
        </body>
    2012-06-22 20:20:50-0400 [HTTPChannel,21,127.0.0.1] 1211827047
    2012-06-22 20:20:50-0400 [HTTPChannel,21,127.0.0.1] 
        SID: fb03e4779f4b9a4fe15fbf09d5905f455cc54919 => 
        SEND: "
        <iq xmlns='jabber:client' to='codemonkey' type='result' id='64-863'/>"
    2012-06-22 20:20:50-0400 [HTTPChannel,21,127.0.0.1]        RETURN HTTPB 1340410850.21:
    2012-06-22 20:20:50-0400 [HTTPChannel,21,127.0.0.1] 
        <body xmlns='http://jabber.org/protocol/httpbind'/>
    2012-06-22 20:20:50-0400 [HTTPChannel,21,127.0.0.1] 1211827047
    2012-06-22 20:20:50-0400 [HTTPChannel,21,127.0.0.1] 127.0.0.1 - - [23/Jun/2012:00:20:49 +0000] "POST /bosh HTTP/1.1" 200 51 "http://172.16.160.246/MySite/Viewers/InteractiveView?programGuideId=486" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5"





    2012-06-22 20:22:00-0400 [XmlStream,client] 
        SID: fb03e4779f4b9a4fe15fbf09d5905f455cc54919 => 
        RECV: '
        <iq type="get" id="600-864" from="codemonkey" to="MySiteadmin@codemonkey/5da9d909-46e0-4dac-8f02-a4113e6490e5">
            <ping xmlns="urn:xmpp:ping"/>
        </iq>'
    2012-06-22 20:22:00-0400 [XmlStream,client]        RETURN HTTPB 1340410920.62:
    2012-06-22 20:22:00-0400 [XmlStream,client] 
        <body xmlns='http://jabber.org/protocol/httpbind'>
            <iq xmlns='jabber:client' from='codemonkey' type='get' id='600-864' to='MySiteadmin@codemonkey/5da9d909-46e0-4dac-8f02-a4113e6490e5'>
                <ping xmlns='urn:xmpp:ping'/>
            </iq>
        </body>
    2012-06-22 20:22:00-0400 [XmlStream,client] 1211827047
    2012-06-22 20:22:00-0400 [XmlStream,client] 127.0.0.1 - - [23/Jun/2012:00:21:59+0000] "POST /bosh HTTP/1.1" 200 223 "http://172.16.160.246/MySite/Viewers/InteractiveView?programGuideId=486" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5"





    2012-06-22 20:22:07-0400 [HTTPChannel,21,127.0.0.1] HEADERS 1340410927.48:
    2012-06-22 20:22:07-0400 [HTTPChannel,21,127.0.0.1] {'origin': 'http://172.16.160.246', 'content-length': '190', 'accept-language': 'en-US,en;q=0.8', 'accept-encoding': 'gzip,deflate,sdch', 'x-forwarded-host': '172.16.160.246', 'x-forwarded-for': '172.16.122.9', 'host': '127.0.0.1:5280', 'accept': '*/*', 'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5', 'accept-charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'connection': 'Keep-Alive', 'referer': 'http://172.16.160.246/MySite/Viewers/InteractiveView?programGuideId=486', 'cookie': 'ASP.NET_SessionId=c4ioeuw2azw21lkedv0nbwlt; .MySiteUniqueCookie=0772CAEB889BB1F853371E4153AC6972595A3A548BAE87D3F8D86AFBB5B88B4C0B8FD61F971816D4678388499B0A71E2517048261B07AD393D9EECDA199FA7EA51CBCD17299047473C6B9A9667BAF9367059319B4F0292B57238A0E2DB2AC737B12E530EAAE85732B1070E1F563E7675A82DF41C57A2C705B358328BE477C581D02DC714', 'x-forwarded-server': 'CODEMONKEY.mydomain.com', 'content-type': 'application/xml'}
    2012-06-22 20:22:07-0400 [HTTPChannel,21,127.0.0.1] HTTPB POST :
    2012-06-22 20:22:07-0400 [HTTPChannel,21,127.0.0.1] 
        <body rid='1211827047' xmlns='http://jabber.org/protocol/httpbind' sid='fb03e4779f4b9a4fe15fbf09d5905f455cc54919'>
            <iq type='result' to='codemonkey' id='64-863' xmlns='jabber:client'/>
        </body>
    2012-06-22 20:22:07-0400 [HTTPChannel,21,127.0.0.1] 1211827047
    2012-06-22 20:22:07-0400 [HTTPChannel,21,127.0.0.1]        RETURN HTTPB 1340410927.48:
    2012-06-22 20:22:07-0400 [HTTPChannel,21,127.0.0.1] 
        <body xmlns='http://jabber.org/protocol/httpbind'>
            <iq xmlns='jabber:client' from='codemonkey' type='get' id='600-864' to='MySiteadmin@codemonkey/5da9d909-46e0-4dac-8f02-a4113e6490e5'>
                <pingxmlns='urn:xmpp:ping'/>
            </iq>
        </body>
    2012-06-22 20:22:07-0400 [HTTPChannel,21,127.0.0.1] 1211827047
    2012-06-22 20:22:07-0400 [HTTPChannel,21,127.0.0.1] 127.0.0.1 - - [23/Jun/2012:00:22:06 +0000] "POST /bosh HTTP/1.1" 200 223 "http://172.16.160.246/MySite/Viewers/InteractiveView?programGuideId=486" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5"
    2012-06-22 20:22:07-0400 [HTTPChannel,21,127.0.0.1] HEADERS 1340410927.67:
    2012-06-22 20:22:07-0400 [HTTPChannel,21,127.0.0.1] {'origin': 'http://172.16.160.246', 'content-length': '191', 'accept-language': 'en-US,en;q=0.8', 'accept-encoding': 'gzip,deflate,sdch', 'x-forwarded-host': '172.16.160.246', 'x-forwarded-for': '172.16.122.9', 'host': '127.0.0.1:5280', 'accept': '*/*', 'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5', 'accept-charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'connection': 'Keep-Alive', 'referer': 'http://172.16.160.246/MySite/Viewers/InteractiveView?programGuideId=486', 'cookie': 'ASP.NET_SessionId=c4ioeuw2azw21lkedv0nbwlt; .MySiteUniqueCookie=0772CAEB889BB1F853371E4153AC6972595A3A548BAE87D3F8D86AFBB5B88B4C0B8FD61F971816D4678388499B0A71E2517048261B07AD393D9EECDA199FA7EA51CBCD17299047473C6B9A9667BAF9367059319B4F0292B57238A0E2DB2AC737B12E530EAAE85732B1070E1F563E7675A82DF41C57A2C705B358328BE477C581D02DC714', 'x-forwarded-server': 'CODEMONKEY.mydomain.com', 'content-type': 'application/xml'}
    2012-06-22 20:22:07-0400 [HTTPChannel,21,127.0.0.1] HTTPB POST :
    2012-06-22 20:22:07-0400 [HTTPChannel,21,127.0.0.1] 
        <body rid='1211827048' xmlns='http://jabber.org/protocol/httpbind' sid='fb03e4779f4b9a4fe15fbf09d5905f455cc54919'>
            <iq type='result' to='codemonkey' id='600-864' xmlns='jabber:client'/>
        </body>
    2012-06-22 20:22:07-0400 [HTTPChannel,21,127.0.0.1] 1211827048
    2012-06-22 20:22:07-0400 [HTTPChannel,21,127.0.0.1] 
        SID: fb03e4779f4b9a4fe15fbf09d5905f455cc54919 => 
        SEND: "
        <iq xmlns='jabber:client' to='codemonkey' type='result' id='600-864'/>"





    2012-06-22 20:22:12-0400 [-] 
        SID: fb03e4779f4b9a4fe15fbf09d5905f455cc54919 => 
        SEND: ' '





    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] HEADERS 1340410993.78:
    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] {'origin': 'http://172.16.160.246', 'content-length': '191', 'accept-language': 'en-US,en;q=0.8', 'accept-encoding': 'gzip,deflate,sdch', 'x-forwarded-host': '172.16.160.246', 'x-forwarded-for': '172.16.122.9', 'host': '127.0.0.1:5280', 'accept': '*/*', 'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5', 'accept-charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'connection': 'Keep-Alive', 'referer': 'http://172.16.160.246/MySite/Viewers/InteractiveView?programGuideId=486', 'cookie': 'ASP.NET_SessionId=c4ioeuw2azw21lkedv0nbwlt; .MySiteUniqueCookie=0772CAEB889BB1F853371E4153AC6972595A3A548BAE87D3F8D86AFBB5B88B4C0B8FD61F971816D4678388499B0A71E2517048261B07AD393D9EECDA199FA7EA51CBCD17299047473C6B9A9667BAF9367059319B4F0292B57238A0E2DB2AC737B12E530EAAE85732B1070E1F563E7675A82DF41C57A2C705B358328BE477C581D02DC714', 'x-forwarded-server': 'CODEMONKEY.mydomain.com', 'content-type': 'application/xml'}
    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] HTTPB POST :
    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] 
        <body rid='1211827048' xmlns='http://jabber.org/protocol/httpbind' sid='fb03e4779f4b9a4fe15fbf09d5905f455cc54919'>
            <iq type='result' to='codemonkey' id='600-864' xmlns='jabber:client'/>
        </body>
    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] 1211827048
    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] This rid is invalid 1211827048 1211827052
    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] HTTPB Error 404
    2012-06-22 20:23:13-0400 [HTTPChannel,22,127.0.0.1] 127.0.0.1 - - [23/Jun/2012:00:23:13 +0000] "POST /bosh HTTP/1.1" 404 - "http://172.16.160.246/MySite/Viewers/InteractiveView?programGuideId=486" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5"





    2012-06-22 20:23:23-0400 [XmlStream,client] 
        SID: fb03e4779f4b9a4fe15fbf09d5905f455cc54919 => 
        RECV: '
        <iq type="get" id="180-865" from="codemonkey" to="MySiteadmin@codemonkey/5da9d909-46e0-4dac-8f02-a4113e6490e5">
            <ping xmlns="urn:xmpp:ping"/>
        </iq>'
    2012-06-22 20:23:23-0400 [XmlStream,client]        RETURN HTTPB 1340411003.49:
    2012-06-22 20:23:23-0400 [XmlStream,client] 
        <body xmlns='http://jabber.org/protocol/httpbind'>
            <iq xmlns='jabber:client' from='codemonkey' type='get' id='180-865' to='MySiteadmin@codemonkey/5da9d909-46e0-4dac-8f02-a4113e6490e5'>
                <ping xmlns='urn:xmpp:ping'/>
            </iq>
        </body>
    2012-06-22 20:23:23-0400 [XmlStream,client] 1211827048
    2012-06-22 20:23:23-0400 [XmlStream,client] 127.0.0.1 - - [23/Jun/2012:00:23:23+0000] "POST /bosh HTTP/1.1" 200 223 "http://172.16.160.246/MySite/Viewers/InteractiveView?programGuideId=486" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5"
4

1 に答える 1

0

結局のところ、私のパンジャブ語の理解には欠陥がありました。空の<body xmlns='http://jabber.org/protocol/httpbind'/>メッセージは、実際には BOSH 接続を介してメッセージを確認するためのものではありません。BOSH はロング ポーリング技術を使用するため、クライアントは空の httpbind ボディで接続を初期化します。サーバーは、指定された待機時間 (つまり 60 秒) の間、この接続を開いたままにします。その 60 秒のマークまでにメッセージが受信されない場合、サーバーは空の httpbind 本文で応答して接続を閉じ、クライアントは別の空の本文をサーバーに送信して新しい接続を再開します。

私の問題は、MatriX ライブラリを使用して C# で prebind 接続を初期化していたことに起因しています。接続を開いたままにするデフォルトの待機時間は 300 秒です。したがって、300 秒後に接続を閉じるように punjab との接続をセットアップします。ただし、strophe のデフォルトの待機時間は 60 秒です。既存の MatriX 接続に strophe を接続すると、punjab が期待どおりに 60 秒で接続を解放しなかったため、strophe が混乱しました。

修正は、MatriX のセットアップ条件に一致するようにストロフィの待機時間を 300 秒に変更することでした。

于 2012-06-25T17:27:11.647 に答える