我正在try 连接SignalR,但它显示失败.我输入了正确的URL, 我想把它隐藏在这个代码中.BAğlantıbaşarıSız.->这在英语中的意思是连接错误.

可以与postman 建立联系

解决这一问题的办法是什么? 预先感谢您的回答

class WebSocketActivity : AppCompatActivity() {
private lateinit var hubConnection: HubConnection

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

    connectToSignalR()
}

private fun connectToSignalR() {
    val hubUrl = "https://myurl" // SignalR sunucu URL'si

    hubConnection = HubConnectionBuilder.create(hubUrl)
        .withTransport(TransportEnum.WEBSOCKETS) // WebSockets veya LongPolling seçeneği
        .build()


    // "ReceiveMessage" adlı hub metodunu dinle
    hubConnection.on("ReceiveMessage") { ->
        Log.e("SignalR", "Mesaj al")
    }

    hubConnection.onClosed { exception ->
        if (exception != null) {
            // Bağlantı hatası oluştu, exception içinde hatayı kontrol edebilirsiniz
            Log.e("SignalR", "Connection closed with error: ${exception.message}")
        }
    }

    // Bağlantıyı başlat
    try {
        hubConnection.start()
        if (hubConnection.connectionState == HubConnectionState.CONNECTED) {
            Log.d("SignalR", "Bağlantı başarıyla tamamlandı.")

            // "restaurantId" sorgu parametresini gönder
            val restaurantId = "oclv"
            hubConnection.send("restaurantId", restaurantId)
        } else {
            Log.e("SignalR", "Bağlantı başarısız.")
        }
    } catch (e: ExecutionException) {
        e.printStackTrace()
        Log.e("SignalR", "Bağlantı hatası: ${e.message}")
    } catch (e: InterruptedException) {
        e.printStackTrace()
        Log.e("SignalR", "Bağlantı hatası: ${e.message}")
    }
}

override fun onDestroy() {
    super.onDestroy()
    hubConnection.stop() // Bağlantıyı kapat
}
}

推荐答案

再试试这个.您需要异步监听.我希望它能起作用.

hubConnection.start().doOnComplete {
        Log.d("SignalR", "Bağlantı başarıyla tamamlandı.")
    }.doOnError {
        Log.e("SignalR", "Bağlantı başarısız.")
    }.subscribe()

Android相关问答推荐

Android compose ,在图像中zoom 而不裁剪?

NativeScript在`ns run android`上重复Kotlin类

Kotlin为多个控件设置一个侦听器

从包含的(复合)模块导入 Kotlin 类时,Android 应用程序模块的 build.gradle.kts 未解决的引用错误

可组合函数无限地从视图模型获取值

从我的 Android 应用程序发送到 Gin 时失败,但从 Postman 发送到 Gin 时成功

参数化类RecyclerView.Adapter的原始使用

错误:无法安装应用程序:INSTALL_PARSE_FAILED_MANIFEST_MALFORMED (React-Native-Android-Studio)

我可以从 Android 中的选定文本中获取周围的文本吗?

判断 AAR 元数据时发现 Android 问题:androidx.core:core:1.12.0-alpha01 和 androidx.core:core-ktx:1.12.0-alpha01

Kotlin Multiplatform Mobile targetSdk 已弃用

为什么我要使用 $version 而不是2.7.0?

React Native Android 应用程序在调试模式下运行良好,但当我们发布 apk 时,它会生成旧版本的应用程序

Android:ActivityCompat.requestPermissions 不显示弹窗(Android 13,targetSdkVersion=33)

如何在 Compose 中使用合并的单元格创建网格视图?

如何处理 com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: For input string: "T1V 4Y8" Kotlin

Android活动系统导航栏 colored颜色 ?

CenterAlignedTopAppBar 滚动行为:未为参数状态传递值

如何在 flow.stateIn() 之后从流中的另一个函数发出emits ?

compose :为什么以记住启动的列表触发方式与快照不同