首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在android上勾选socket.io连接或断开?

如何在android上勾选socket.io连接或断开?
EN

Stack Overflow用户
提问于 2014-08-12 19:45:55
回答 4查看 3.7K关注 0票数 0

我使用socketio.SocketIO作为service.And连接到节点服务器,当服务重新启动时,在没有关闭socket.io的情况下打开socket.io,这是一个问题。

在服务器side.So上建立多个socketIO连接的设备服务器正在膨胀..

好了!我在android上使用的是gottox/socketio-java-client。

EN

回答 4

Stack Overflow用户

发布于 2014-08-12 19:58:00

检查插座是否已连接或未使用socket.isConnected()。如果套接字已连接,则返回true

票数 2
EN

Stack Overflow用户

发布于 2014-08-12 19:58:34

您可以检查socket.connected属性:

代码语言:javascript
复制
var socket = io.connect();

console.log('Connected status before onConnect', socket.socket.connected);

socket.on('connect', function() {
  console.log('Connected status onConnect', socket.socket.connected);
});

它是动态更新的,如果连接丢失,它将被设置为false,直到客户端再次获得连接。所以很容易用setInterval或类似的东西来检查。

另一种解决方案是捕获断开连接事件并自己跟踪状态。

票数 1
EN

Stack Overflow用户

发布于 2016-02-01 15:21:06

这只是一个想法,所以我不知道它的局限性。请让我知道。

您可以ping服务器以检查连接是否处于活动状态。

在android中

代码语言:javascript
复制
socket.emit("ping","ping");
socket.on("pong",pingHandler); //EmitterListener

private Emitter.Listener pingHandler=new Emitter.Listener(){
 @Override
        public void call(final Object... args) {
            Log.d("SocketStatus","Connection is active");
           });
}

并使服务器返回对ping的响应

代码语言:javascript
复制
socket.on("ping",function(data){
socket.emit("pong","pong"); //from your server ex.Node.js
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25263463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档