2

我正在开发一个使用协议 WebSocket 与服务器通信的 android 应用程序。我使用 AsyncAndroid 库。WebSocket 有监听器,从服务器接收数据。

像这样的东西

private WebSocket.StringCallback mStringCallback = new WebSocket.StringCallback() {
        @Override
        public void onStringAvailable(String s) {

        }
    };

我需要写这个api,我想使用rxjava。但我无法想象,那应该是 Observable 和那个 Observer。我试图将从服务器接收到的 Observable 字符串转换为 WebSocket 侦听器,但我认为这是个坏主意。有什么想法如何正确构建 api。感谢你。

4

1 回答 1

1

您可以包装WebSocket成这样的新界面:

interface RxWebSocket {
    void send(byte[]); // send data
    Observable<String> stringObservable(); // receive string data
}

然后在RxWebSocket实现中,您可以使用PublishSubject内部WebSocket.StringCallback来发布字符串。

于 2016-04-23T11:04:17.200 回答