我正在使用signalr进行聊天应用程序接口,signalr服务正在启动并获取聊天消息一段时间后,signalr集线器连接没有响应,im无法与signalR服务器联系。如何在android中检查signalr hubconnection是否在线。
发布于 2017-08-09 21:07:59
当你调用这个方法而不是这个实例的时候,你可以得到hubconnection的当前状态。
private void startSignalR() {
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;
}
mInstance.mHubConnection.error(new ErrorCallback() {
@Override
public void onError(Throwable error) {
error.printStackTrace();
}
});
// Subscribe to the connected event
mInstance.mHubConnection.connected(new Runnable() {
@Override
public void run() {
System.out.println("CONNECTED");
}
});
mInstance.mHubConnection.reconnected(new Runnable() {
@Override
public void run() {
System.out.println("RECONNECTED");
}
});
// Subscribe to the closed event
mInstance.mHubConnection.closed(new Runnable() {
@Override
public void run() {
System.out.println("DISCONNECTED");
}
});
mInstance.mHubProxy.on(SignalRConstant.CLIENT_METHOD_BROADAST_MESSAGE,
new SubscriptionHandler2<String, Object>() {
@Override
public void run(final String msg, final Object data) {
if (msg != null && data != null && !data.equals("")) {
Intent intent = new Intent();
intent.setAction(MY_ACTION);
intent.putExtra("CAPTION", msg);
if(msg.equals(SignalRConstant.CAPTION_LOGINPASS))
{
Gson gson = new GsonBuilder().setDateFormat(AppConstant.DATE_FORMAT).create();
intent.putExtra("DATA", gson.toJson(data));
}else{
intent.putExtra("DATA", data.toString());
}
sendBroadcast(intent);
}
}
}
, String.class, Object.class);
}https://stackoverflow.com/questions/45483894
复制相似问题