Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
231 views
in Technique[技术] by (71.8m points)

sockets - RethinkDB Connection timed out issue for Android App

I want to make an android application using RethinkDB locally. However, while connecting to the database, I encounter a problem as follows. What am I doing wrong?

MainActivity.kt:

class MainActivity : AppCompatActivity() {

    private val r = RethinkDB.r

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val conn: Connection = r.connection().connect()
        r.db("test").tableCreate("tv_shows").run(conn)
        r.table("tv_shows").insert(r.hashMap("name", "Star Trek TNG")).run(conn)
        conn.close()

    }
}

MainActivity screenshot: https://i.stack.imgur.com/faOlI.png

Issue:

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.appops.deneme, PID: 22244
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.appops.deneme/com.appops.deneme.MainActivity}: com.rethinkdb.gen.exc.ReqlDriverError: Connection timed out.
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2913)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6669)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
     Caused by: com.rethinkdb.gen.exc.ReqlDriverError: Connection timed out.
        at com.rethinkdb.net.DefaultConnectionFactory$SocketWrapper.connect(DefaultConnectionFactory.java:95)
        at com.rethinkdb.net.DefaultConnectionFactory.lambda$newSocketAsync$0(DefaultConnectionFactory.java:37)
        at com.rethinkdb.net.-$$Lambda$DefaultConnectionFactory$Dp5RB8nofLcgo_XJyBx6Kv7H-ac.get(Unknown Source:8)
        at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1625)
        at java.lang.Thread.run(Thread.java:764)
     Caused by: java.net.SocketException: socket failed: EACCES (Permission denied)
        at java.net.Socket.createImpl(Socket.java:492)
        at java.net.Socket.connect(Socket.java:619)
        at com.rethinkdb.net.DefaultConnectionFactory$SocketWrapper.connect(DefaultConnectionFactory.java:72)
        at com.rethinkdb.net.DefaultConnectionFactory.lambda$newSocketAsync$0(DefaultConnectionFactory.java:37)?
        at com.rethinkdb.net.-$$Lambda$DefaultConnectionFactory$Dp5RB8nofLcgo_XJyBx6Kv7H-ac.get(Unknown Source:8)?
        at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1625)?
        at java.lang.Thread.run(Thread.java:764)?

Issue Screenshot: https://i.stack.imgur.com/2Rwqd.png

build.gradle(app)

plugins {
    id 'com.android.application'
    id 'kotlin-android'
}

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.2"

    defaultConfig {
        applicationId "com.appops.deneme"
        minSdkVersion 21
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
}

dependencies {

    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation 'androidx.core:core-ktx:1.2.0'
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'com.google.android.material:material:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

    implementation 'com.rethinkdb:rethinkdb-driver:2.4.4'
    implementation 'org.slf4j:slf4j-api:1.7.30'
    implementation 'uk.uuid.slf4j:slf4j-android:1.7.30-0'

}
question from:https://stackoverflow.com/questions/65941067/rethinkdb-connection-timed-out-issue-for-android-app

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...