subscriber中接收的数据不正确
liqinghua188 opened this issue · 3 comments
liqinghua188 commented
RxWebSocketUtil 中的onMessage接收数据与 subscriber中接收到的数据不一致。例如:
onMessage中 收到 A, B 两个数据包(服务端连续发送), subscriber中接收到的数据却为:A , A (即会变为一样的数据包)
liqinghua188 commented
原因找到了:WebSocketOnSubscribe 中的startInfo、stringInfo、byteStringInfo需定义为方法局部变量。现定义为成员变量,连续收到的数据包,stringinfo会被后面的修改掉
@Override
public void onMessage(WebSocket webSocket, String text) {
if (!subscriber.isUnsubscribed()) {
WebSocketInfo stringInfo = new WebSocketInfo();
stringInfo.setWebSocket(webSocket);
stringInfo.setString(text);
subscriber.onNext(stringInfo);
}
}
dhhAndroid commented
此问题我我已知晓,本来想着WebSocketInfo紧作为信息传递的载体,如果数据推送频繁,下游处理不及时就会被替换.下个版本会修复.
liqinghua188 commented
好的~