Android SignalR加入群组

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

最近做Android客户端的SignalR推送,服务器是.net core的。按照官方文档连接没有问题,再加入群组这块遇到了一些问题。由于以前没接触过,这几天又赶着上线,所以网上翻遍各种资料,并没找到符合的资料。最终参考javascript版本的加入群组得以解决问题。


提示:以下代码可供参考

一、以官方文档为基础的版本

HubConnection hubConnection;
    public void signalr() {
        hubConnection = HubConnectionBuilder
                .create(url)
                .build();
        hubConnection.on("Send", (message)-> {
            //处理接受到的信息
        }, String.class);
        new MainActivity.HubConnectionTask().execute(hubConnection);
    }

    class HubConnectionTask extends AsyncTask<HubConnection, Void, Void> {

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }

        @Override
        protected Void doInBackground(HubConnection... hubConnections) {
            HubConnection hubConnection = hubConnections[0];
            //开始连接
            hubConnection.start().blockingAwait();
            if(hubConnection.getConnectionState().equals(HubConnectionState.CONNECTED))
                //加入群组
                hubConnection.invoke(String.class, "群组名字", "参数");
            return null;
        }
    }

二、使用RxJava的版本

HubConnection hubConnection;
    public void signalr() {
        hubConnection = HubConnectionBuilder
                .create(url)
                .build();

        hubConnection.start().andThen((SingleSource<String>) observer -> {
            hubConnection.invoke(String.class, "群组名字", "参数");
            hubConnection.on("Send", observer::onSuccess, String.class);
        }).subscribeOn(Schedulers.io()).subscribe(new SingleObserver<String>() {
            @Override
            public void onSubscribe(Disposable d) {
                
            }

            @Override
            public void onSuccess(String s) {
                    //处理接收到的消息
            }

            @Override
            public void onError(Throwable e) {

            }
        });
    }

总结

主要网上是在难以找到相关代码,所以贴出来,方便急用的安卓开发人员。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值