簡體   English   中英

連接到XMPP服務器

[英]Connecting to an XMPP server

因此,我一直在嘗試閱讀XMPP,並決定嘗試使用Strophe JS庫。 我嘗試使用我認為適當的域,用戶名和密碼以及嘗試連接時連接到我所知道的XMPP服務器(地址為http://chat.na1.lol.riotgames.com:5223 )。僅在本地運行javascript),以下內容將發送到服務器:

<body rid='3367062472' xmlns='http://jabber.org/protocol/httpbind' to='pvp.net' 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'/>

但是我在Chrome中收到以下錯誤:

XMLHttpRequest cannot load https://chat.na1.lol.riotgames.com:5223/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

在FireFox中,我看到了已發送內容的控制台輸出,但是沒有看到有關Access-Control-Allow-Origin標頭的錯誤。

以下是嘗試連接的簡單javascript:

var SERVER = "http://chat.na1.lol.riotgames.com:5223", 
    username = "name@domain.net",
    password = "AIR_password",
    connection;

function log(msg) 
{
    console.log(msg);
}

function rawInput(data)
{
    log('RECV: ' + data);
}

function rawOutput(data)
{
    log('SENT: ' + data);
}

function onConnect(status)
{
    if (status == Strophe.Status.CONNECTING) {
        log('Strophe is connecting.');
    } else if (status == Strophe.Status.CONNFAIL) {
        log('Strophe failed to connect.');
    } else if (status == Strophe.Status.DISCONNECTING) {
        log('Strophe is disconnecting.');
    } else if (status == Strophe.Status.DISCONNECTED) {
        log('Strophe is disconnected.');
    } else if (status == Strophe.Status.CONNECTED) {
        log('Strophe is connected.');
        connection.disconnect();
    }
}

$(document).ready(function () {
    connection = new Strophe.Connection(SERVER);
    connection.rawInput = rawInput;
    connection.rawOutput = rawOutput;

    connection.connect(username, password, onConnect);
});

我是否遇到跨域問題? 我嘗試連接的方式有問題嗎?

我知道可以連接到該服務器,因為可以通過Pidgin進行連接,其他第三方應用程序也可以這樣做。 我需要自己的一些服務器設置來完成這種連接嗎?

5223是用於“舊式SSL” TCP連接的端口,大多數XMPP應用程序都使用與服務器的TCP連接。 但是,無法使用javascript應用程序(AFAIK)來維持TCP連接並使用XMPP BOSH擴展(長輪詢HTTP請求),您需要在服務器上使用BOSH連接管理器/擴展名(通常在5280端口上)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM