2011-04-26 76 views
1

我一直在尋找有關XMPP和JavaScr-er,ECMAScript和XMPP的信息。在做了一些研究之後,我發現了Strophe。它看起來很有趣,我能夠得到一些代碼來編譯(始終是我的起點:)),但實際上沒有連接。那時候,我意識到(感謝一些更多的研究):a)我無法真正連接到一個不同的服務器,而不是發佈頁面響應的服務器,因爲它會是某種跨站點腳本或者什麼不是,以及b )我試圖連接的服務器(Google Talk)沒有BOSH。 所以。我的問題是雙重的: 1)我可以從我的服務器使用JavaScript發佈的頁面連接到一個常見的XMPP服務器(比如說,Facebook聊天或Google Talk)嗎? (無插件) 2)如果是這樣,怎麼樣? Strophe會工作嗎? (我也聽說過很多關於WebSocket的內容,不太清楚它們是什麼或者它們是否可以工作。) 謝謝。如何從Javascript連接到XMPP服務器

+0

那麼你真正想要做的是讓你的網站允許訪問你的網站的人使用Google Talk/Facebook聊天工具嗎? – 2011-04-26 12:40:24

+1

非常多,但該網站的整個想法是它不是一個網站。這是一個基於網絡的聊天客戶端......如果這是有道理的。這就像加載Google Talk的Flash Web客戶端,除非我們想讓它無閃存。如果不清楚,我可以給你看一張截圖。 – 2011-04-26 12:56:08

+0

很明顯你想達到什麼目的,唯一的問題是你無法按照你想象的方式實現它。爲了使用這些聊天中的任何一個,您的用戶必須登錄到其中一個網站。之後,Facebook或谷歌必須允許您使用用戶的數據,該數據假定實施OAuth。之後,您需要訪問聊天實施的API。至少就我所知,您無法直接連接到他們的服務器。您可以通過使用iframe和加載網站內容來模擬某些內容,然後通過JS動態更改佈局。 – 2011-04-26 13:13:45

回答

4

爲了通過HTTP協議連接到各種域以進行數據交換,由於跨站點腳本限制導致POST請求被禁止,所以JS受到限制(可以通過IFRAME tho完成,但對於大多數目的而言,這不是可行)。

這就是爲什麼你用你喜歡的服務器端語言創建一個連接到多個服務器的代理,它充當你的JS「連接」的服務,並用它來顯示數據到瀏覽器。

+0

你的意思是HTTP中的代理?但是這將無法實現XMPP所做的實時通信。 – Pacerier 2014-11-20 11:17:49