SignalR Android 如果已经连接,Hubconnection 无法启动
SignalR Android Hubconnection can't start if already connected
我在 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;
}
首先正如您描述的那样。在第一种方法中,您的 SignalR 集线器连接已启动,当您重新启动您的应用程序时,它会崩溃。因此,请确保无论何时您尝试连接 SignalR hubconnection,您都应该检查它是已连接还是已断开连接。使用以下代码 .
希望它能奏效。祝你好运。
mHubConnection.stop();
我在 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;
}
首先正如您描述的那样。在第一种方法中,您的 SignalR 集线器连接已启动,当您重新启动您的应用程序时,它会崩溃。因此,请确保无论何时您尝试连接 SignalR hubconnection,您都应该检查它是已连接还是已断开连接。使用以下代码 .
希望它能奏效。祝你好运。
mHubConnection.stop();