【问题标题】:Realm object server sync on low connection.低连接上的领域对象服务器同步。
【发布时间】:2023-11-23 07:03:02
【问题描述】:

我有一个领域对象服务器,并尝试与 Android 设备同步数据,例如:

SyncCredentials syncCred = SyncCredentials
            .usernamePassword(username, password, false);
SyncUser.loginAsync(syncCred, url, new SyncUser.Callback() {
        @Override
        public void onSuccess(SyncUser user) {
        ...some code...
        }

        @Override
        public void onError(ObjectServerError error) {}

它与wi-fi 一起工作得很好,但在互联网连接较低的情况下(例如为模拟器设置GSM 网络类型)我得到一个错误(onError (ObjectServerError error) 调用):

java.net.ProtocolException: unexpected end of stream
at okhttp3.internal.http.Http1xStream$FixedLengthSource.read(Http1xStream.java:380)
at okio.Buffer.writeAll(Buffer.java:993)
at okio.RealBufferedSource.readByteArray(RealBufferedSource.java:106)
at okhttp3.ResponseBody.bytes(ResponseBody.java:128)
at okhttp3.ResponseBody.string(ResponseBody.java:154)
at io.realm.internal.network.AuthenticateResponse.from(AuthenticateResponse.java:51)
at io.realm.internal.network.OkHttpAuthenticationServer.authenticate(OkHttpAuthenticationServer.java:125)
at io.realm.internal.network.OkHttpAuthenticationServer.loginUser(OkHttpAuthenticationServer.java:53)
at io.realm.SyncUser.login(SyncUser.java:199)
at io.realm.SyncUser$1.run(SyncUser.java:234)
at io.realm.SyncUser$Request$1.run(SyncUser.java:585)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)

at io.realm.internal.network.AuthenticateResponse.from(AuthenticateResponse.java:53)
at io.realm.internal.network.OkHttpAuthenticationServer.authenticate(OkHttpAuthenticationServer.java:125)
at io.realm.internal.network.OkHttpAuthenticationServer.loginUser(OkHttpAuthenticationServer.java:53)
at io.realm.SyncUser.login(SyncUser.java:199)
at io.realm.SyncUser$1.run(SyncUser.java:234)
at io.realm.SyncUser$Request$1.run(SyncUser.java:585)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)

是否可以通过低 Internet 连接来同步数据?

【问题讨论】:

标签: android realm realm-mobile-platform realm-object-server


【解决方案1】:

issue 已在4.1.0 中修复

【讨论】:

    最近更新 更多