O aplicativo Android não recebeu dados do hub SignalR

Eu já li estes tópicos:
como usar o SignalR no Android
O Android Client não obtém dados, mas o cliente .net obtém dados do servidor SignalR

Eu escrevo um sistema de bate-papo simples com Android que funciona com SignalR.
Supõe-se que os clientes enviem mensagens (chamandoSendMessage método no servidor) e o servidor deve chamar oNewMessage método nos clientes.

Aqui está o meuChatHub classe (simplificada) escrita em C #.

public class ChatHub : Hub
{
    // Store the clients connections Id
    static readonly List<string> _connectedClients;

    public override Task OnConnected()
    {
        // Keep connections id
        // This section works fine and when the android device connects to the server,
        // Its connection id will stored.
        _connectedClients.Add(Context.ConnectionId)

        //... other codes
    }

    public void SendMessage(string message)
    {
        foreach (var connectionId in _connectedClients)
        {
            // according to the logs 
            // android device connection id exists here
            // and it works fine.
            Clients.Client(connectionId).NewMessage(message);
        }
    }
}

Quando o cliente android se conecta ao servidor, noOnConnected método, o ID da conexão será armazenado no_connectedClients e funciona bem.

NoSendMessage método doChatHub classe, temos o ID de conexão do dispositivo Android e tenho certeza de que o dispositivo Android está na lista

E aqui estão os meus códigos Andoird:

public class ChatActivity extends AppCompatActivity
{
    // private fields
    HubConnection connection;
    HubProxy hub;
    ClientTransport transport;

    protected void onCreate(Bundle savedInstanceState) {

        Logger logger = new Logger() {
            @Override
            public void log(String message, LogLevel logLevel) {
                Log.e("SignalR", message);
            }
        };

        Platform.loadPlatformComponent(new AndroidPlatformComponent());
        connection = new HubConnection("192.168.1.100");
        hub = connection.createHubProxy("chatHub"); // case insensitivity

        transport = new LongPollingTransport(connection.getLogger());

        // no difference when using this:
        //transport = new ServerSentEventsTransport(connection.getLogger());

        // this event never fired!
        hub.subscribe(new Object() {
            public void NewMessage(String message)
            {
                Log.d("<Debug", "new message received in subscribe"); // won't work!
            }
        }

        // this event never fired!
        hub.on("NewMessage", new SubscriptionHandler() {
            @Override
            public void run() {
                Log.d("<Debug", "new message received in `on`"); // won't work!
            }
        });

        // connect to the server that works fine.
        SignalRFuture<Void> awaitConnection = connection.start(transport);
        try {
            awaitConnection.get(); // seems useless when using this or not!
        }
        catch (Exception ex) {
        }

        // this method works fine.
        hub.invoke("sendMessage", "this is a test message to the server")
        .done(new Action<Void>() {
                @Override
                public void run(Void aVoid) throws Exception {
                    Log.d("<Debug", "message sent."); // Works fine
                }
        });

    }
}

AcimaJava código, chamando osendMessage no servidor funciona bem e o servidor recebe as mensagens.
Mas o único problema é que ohub.on(...) ouhub.subscribe(...) eventos nunca são chamados pelo servidor.
Em uma descrição simples, Meu aplicativo pode enviar mensagens, mas não pode receber mensagens de outros.
Qualquer sugestão será apreciada.

questionAnswers(2)

yourAnswerToTheQuestion