【问题标题】:(Android) Hold a Socket.IO Connection throughout Activities(Android) 在整个活动中保持 Socket.IO 连接
【发布时间】:2015-04-22 01:28:10
【问题描述】:

我基本上是在尝试在一个活动(登录活动)中启动 Socket.IO 连接,并在其他各种活动中进行。如果有人对在这种情况下最有效的方法有任何想法,那就太好了。我所需要的可能只是一项可以在后台运行的服务,但我无法弄清楚它是如何工作的。 我试过这样做,但不起作用。

public class KlassAttack extends Application {
    Socket gameConnection;
    @Override
    public void onCreate() {
        try {gameConnection = IO.socket("http://71.13.36.124:56543");}catch(URISyntaxException e){}
        gameConnection.connect();
        Log.e("TEST", "EEE");
    }
}

【问题讨论】:

  • 这行得通,没问题。您无需创建服务,因为客户端管理一个后台线程来发送心跳和发出数据。

标签: android sockets socket.io socket.io-java-client


【解决方案1】:

你可以创建一个单例类

public class SocketIOClient {

private static Socket mSocket;

private static void initSocket(Activity activity) {
    try {
       mSocket = IO.socket(Constants.CHAT_SOCKET_URL);
    } catch (URISyntaxException e) {
        e.printStackTrace();
        throw new RuntimeException(e);
    }
}

public static Socket getInstance(Activity activity) {
    if (mSocket != null) {
        return mSocket;
    } else {
        initSocket(activity);
        return mSocket;
    }
} }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-07
    • 1970-01-01
    • 2013-07-08
    • 1970-01-01
    • 1970-01-01
    • 2020-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多