代码之家  ›  专栏  ›  技术社区  ›  Siarhei Oliver Drotbohm

低连接上的领域对象服务器同步。

  •  0
  • Siarhei Oliver Drotbohm  · 技术社区  · 8 年前

    我有一个领域对象服务器,并尝试与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)
    

    是否可以通过低互联网连接同步数据?

    1 回复  |  直到 8 年前
        1
  •  0
  •   Siarhei Oliver Drotbohm    8 年前

    这个 issue 已固定在 4.1.0

    推荐文章