0
我有一個使用NodeJS,Socket.IO和Express開發的服務器。我開發了一個網站來處理這個服務器,並且一切正常。當我嘗試開發一個android應用程序時,麻煩來了。使用Socket.Io Listeners獲得循環
我在socket.io上有一個方法,它返回一個對象數組。在代碼中是這樣的:
socket.on("getData",function(data){
if(data!=null){
io.sockets.connected.emit("getSocData", {result:true});
}
}
在客戶端,在js中,哪裏工作正常。
socket.on("getSocData", function (data) {
if(data){alert("good"); }
}
麻煩的是當我調試Android應用程序,其中的代碼是:
mSocket.on("getSocData", new Emitter.Listener() {
@Override
public void call(final Object.. args) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
JSONObject data = (JSONObject) args[0];
}
});
}
});
當調試與我的手機Android的代碼,開始循環運行方式的20倍以上,雖然mSocket.on只觸發一次。
我越來越瘋狂,因爲在網站工作正常,但在Android凍結應用程序,直到運行方法停止。
,我使用的關係是不是:
compile ('io.socket:socket.io-client:0.8.3') {
exclude group: 'org.json', module: 'json'
}
THX 4所有的傢伙!
就像一個魅力!我認爲Android和網站中的客戶端工作原理類似。 – kartGIS