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