android上的Socket.io客户端在5分钟后断开连接
我已经在android上实现了Socket.io客户端,我已经成功地在一个无限服务中初始化了Socket,但问题是当应用程序在后台并且手机被锁定时,它在5分钟后被断开。如果应用程序位于前台,则连接将保持活动状态 断开连接的情况:android上的Socket.io客户端在5分钟后断开连接,android,node.js,sockets,singleton,socket.io-java-client,Android,Node.js,Sockets,Singleton,Socket.io Java Client,我已经在android上实现了Socket.io客户端,我已经成功地在一个无限服务中初始化了Socket,但问题是当应用程序在后台并且手机被锁定时,它在5分钟后被断开。如果应用程序位于前台,则连接将保持活动状态 断开连接的情况: 服务仍在运行 由于未知原因,插座已断开 套接字实例是在Singelton类中创建的,并且实例保持不变 在生命周期中,我总是检查套接字实例的hashcode 我也实施了乒乓球解决方案,但它不起作用 检查服务器日志,发现用户的套接字已断开连接 我甚至尝试重新启动服务,但在重
public类Singelton实现可序列化{
私有静态Singelton实例;
私有静态最终字符串服务器\u ADDRESS=“xyz”;
专用插座;
私人语境;
公共歌手(背景){
this.context=上下文;
this.mSocket=getServerSocket();
}
公共静态Singleton get(上下文){
if(实例==null){
instance=getSync(上下文);
}
instance.context=context;
返回实例;
}
私有静态同步Singleton getSync(上下文){
if(实例==null){
实例=新的Singleton(上下文);
}
返回实例;
}
公共套接字getSocket(){
返回此.mSocket;
}
公共套接字getServerSocket(){
试一试{
IO.Options opts=新IO.Options();
opts.forceNew=true;
opts.reconnection=true;
mSocket=IO.socket(服务器地址,opts);
返回mSocket;
}捕获(URISyntaxException e){
抛出新的运行时异常(e);
}
}
}
我不会建议您为此实施远程服务。我认为这应该是为创建套接字实例而设计的singleton类的问题。要在后台运行socket,请看这个,它可能对您有帮助。Hi@Sam我一定会尝试您的解决方案。希望它能起作用…@Sam解决方案不起作用。你能解决这个问题吗?不,我只是在解决这个问题,在服务类中创建套接字对象。。。。