Android : jquery signalr client works- but in java it cannot be made to work :-/

on Tuesday, April 7, 2015


we have a SignalR hub. The following jquery code connects and properly processes SignalR client "call" events successfully on cordova.



var connectionURL = urlName + "/message";
connection = $.connection(connectionURL);

connection.start().done(function () {
console.log("Connected to hub again");
});

connection.disconnected(function () {
setTimeout(function () {
connection.start().done(function () {
console.log("Disconnected and Connected to hub again");
});
}, 5000);
});

connection.stateChanged(function (change) {
if (change.newState == $.signalR.connectionState.reconnecting) {
}
else if (change.newState == $.signalR.connectionState.connected) {
}
else if (change.newState == $.signalR.connectionState.disconnected) {
}// else if
});

connection.received(function (data) {
connectId = connection.id + "";
console.log("onDeviceReady run");

// call the function to parse the data
if (data.PayloadType == "Dispatch") {
dataDispatch(data);
}
if (data.PayloadType == "ConnectionAcknowledge") {
sendConnectionAcknowledge(data);
}
});


however when I try to emulate this code in java apk android I get huge numbers of errors.



package com.some.thing;
import android.util.Log;

import java.util.concurrent.ExecutionException;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.os.IBinder;
import android.widget.Toast;
import microsoft.aspnet.signalr.client.*;
import microsoft.aspnet.signalr.client.hubs.*;

import com.google.gson.JsonElement;

public class SignalRHelper extends Service {

@Override
public void onCreate() {
super.onCreate();
}

@SuppressWarnings("deprecation")
@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
Toast.makeText(this, "Service Start", Toast.LENGTH_LONG).show();

String server = urlName + "/message";
HubConnection connection = new HubConnection(server);
HubProxy proxy = connection.createHubProxy("ptThroughputHub");

SignalRFuture<Void> awaitConnection = connection.start();
try {
awaitConnection.get();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ExecutionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

proxy.invoke("JoinGroup", "Group1");

//Then call on() to handle the messages when they are received.
proxy.on( "broadcastMessage", new SubscriptionHandler1<String>() {
@Override
public void run(String msg) {
Log.d("result := ", msg);
}
}, String.class);

}
@Override
public void onDestroy() {
super.onDestroy();
}
@Override
public IBinder onBind(Intent arg0) {
return null;
}
}


can anyone help me translate the working, jquery signalr client code into usable java client code?


0 comments:

Post a Comment