私は Android 2.3 で Openfire を接続するために strophe.js で PhoneGap を使用します。これは成功であり、接続を維持します。
しかし、Windows Phone 7 でも同じコードを使用しています。最初に接続してメッセージを取得できます。しかし、数分または数秒でCONNFAILになります。
接続中 -> 認証中 -> 接続済み -> 切断中 -> 接続失敗 -> 切断済み
CONNECTED と DISCONNECTING の間に同じ時間はありません。
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、
Windows Phone 7.8 用の Windows Phone SDK 更新プログラム
PhoneGap-2.9.0、
Windows Phone 7、
Openfire 3.7.1、
jquery.mobile-1.2.0.min.js、
strophejs-1.0.2