我正在开发一个使用 WebSocket 协议(protocol)与服务器通信的 Android 应用程序。我使用 AsyncAndroid 库。 WebSocket 有监听器,从服务器接收数据。
像这样
private WebSocket.StringCallback mStringCallback = new WebSocket.StringCallback() {
@Override
public void onStringAvailable(String s) {
}
};
我需要写这个 api,我想使用 rxjava。但我无法想象,那应该是 Observable,那个 Observer。我试图将从服务器接收到的 Observable 字符串转换为 WebSocket 监听器,但我认为这是个坏主意。 是否有任何想法如何正确构建 api。 谢谢你。
最佳答案
您可以像这样将 WebSocket
包装到一个新接口(interface)中:
interface RxWebSocket {
void send(byte[]); // send data
Observable<String> stringObservable(); // receive string data
}
然后在 RxWebSocket
实现中,您可以使用 PublishSubject
和内部 WebSocket.StringCallback
来发布字符串。
关于android - WebSocket 和 Rx Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30926543/