Невозможно сохранить соединение с сервером XMPP с помощью strophe.js на Windows Phone 7.5(vs2010)
Я использую PhoneGap с strophe.js для подключения OpenFire в Android 2.3, это успех и сохранить соединение.
Но я использую тот же код в Windows Phone 7, он подключается первым и может получить сообщение. Но это CONNFAIL через несколько минут или секунд.
CONNECTING-> AUTHENTICATING-> визит->DISCONNECTING->CONNFAIL-> ОТСОЕДИНЕННОМ
Между СОЕДИНЕННЫМ и ОТКЛЮЧЕНИЕМ нет одинаковых времен.
var username=XXX;
var HOST_DOMAIN=XXX;
var password=XXX;
var BOSH_SERVICE = "http://127.0.0.1:7070/http-bind/";
connection = new Strophe.Connection(BOSH_SERVICE);
connection.connect(username + "@" + HOST_DOMAIN, password, onConnect);
function onConnect(status) {
if (status == Strophe.Status.CONNECTED) {
connection.addHandler(notifyUser, null, "message", null, null, null);
connection.send($pres().tree());
}else if (status == Strophe.Status.DISCONNECTED) {
console.log("Strophe is disconnected.");
}
}
function notifyUser(msg) {
console.log("msg : " + Strophe.serialize(msg));
}
Нет сообщения об ошибке, только журнал состояния strophe:
Log:["status=1","DebugConsole1005374909"]
Log:["Current Status is [CONNECTING]","DebugConsole1005374910"]
Log:["Strophe is connecting.","DebugConsole1005374911"]
Log:["status=3","DebugConsole1005374912"]
Log:["Current Status is [AUTHENTICATING]","DebugConsole1005374913"]
Log:["status=5","DebugConsole1005374914"]
Log:["Strophe is connected.","DebugConsole1005374916"]
Log:["Current Status is [CONNECTED]","DebugConsole1005374915"]
GapBrowser_Navigated :: /app/www/login.html#eventList
Log:["Strophe is disconnecting.","DebugConsole1005374922"]
Log:["status=2","DebugConsole1005374917"]
Log:["Current Status is [CONNFAIL]","DebugConsole1005374918"]
Log:["Strophe failed to connect.","DebugConsole1005374919"]。
Log:["status=7","DebugConsole1005374920"]
Log:["Current Status is [DISCONNECTING]","DebugConsole1005374921"]
Log:["Strophe is disconnected.","DebugConsole1005374925"]
Log:["status=6","DebugConsole1005374923"]
Log:["Current Status is [DISCONNECTED]","DebugConsole1005374924"]
Visual Studio 2010,
Обновление SDK для Windows Phone для Windows Phone 7.8
PhoneGap-2.9.0,
Windows Phone 7,
Openfire 3.7.1,
jquery.mobile-1.2.0.min.js,
strophejs-1.0.2
2 ответа
Я думаю, это может быть связано с тем, что здесь обнаружено - Windows 7/8 не оставляет сокеты открытыми для приложения, если оно работает в фоновом режиме.
Вы должны увидеть ошибки в ответах POST от BOSH-коннектора: скопируйте и вставьте последнюю здесь.