我正在尝试连接到信号器,但它说失败。我正在输入正确的网址, 我想将其隐藏在这段代码中。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 - 我无法连接到信号器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77272369/