【问题标题】:SignalR Android Hubconnection can't start if already connected如果已连接 SignalR Android Hub 连接将无法启动
【发布时间】:2017-01-20 16:28:01
【问题描述】:

我正在 Android 中实现 SignalR。 在第一步中,它很容易连接。重新打开应用程序后,它因记录错误而崩溃.. 集线器连接已连接

 Platform.loadPlatformComponent(new AndroidPlatformComponent());
        mInstance.setmHubConnection(getApplicationContext());
        mInstance.setHubProxy();
        ClientTransport clientTransport = new ServerSentEventsTransport(mInstance.mHubConnection.getLogger());
        signalRFuture = mInstance.mHubConnection.start(clientTransport);
        try {
            signalRFuture.get();
        } catch (InterruptedException | ExecutionException e) {
            SharedPrefUtil.clearAllSharedPreferences(getApplicationContext());
            Toast.makeText(getApplicationContext(), getString(R.string.wrong_server), Toast.LENGTH_LONG).show();
            Log.e("SimpleSignalR", e.toString());
            return;
        } 

【问题讨论】:

  • 你在使用 mHubConnection.disconnect();应用程序何时被破坏?
  • 是的,我正在使用 Destroyed 方法,但是当我最小化或关闭应用程序时它没有调用

标签: android signalr


【解决方案1】:

首先,正如您所描述的那样。在第一次方法中,您的 SignalR 集线器连接已启动,当您重新启动应用程序时,它会崩溃。因此,请确保无论何时尝试连接 SignalR hubconnection,都应检查其是否已连接或已断开连接。使用以下代码。

希望它会奏效。祝你好运。

  mHubConnection.stop();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-25
    • 2014-03-31
    • 2012-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-09
    相关资源
    最近更新 更多