Я делаю приложение для обмена сообщениями, и когда пользователь отправляет сообщение, его следует отображать, когда он нажимает кнопку отправки. Код деятельности написан на Java, а связь с Supabase написана в Kotlin. Когда я пытаюсь подключиться к базе данных в реальном времени, я получаю ошибку: < /p>
Error while trying to connect to realtime websocket. Trying again in 7s
URL: wss://ucqbegvfrgwmsxharvgh.supabase.co/realtime/v1/websocket?apikey=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InVjcWJlZ3Zmcmd3bXN4aGFydmdoIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDE1Mjc0NDMsImV4cCI6MjA1NzEwMzQ0M30.pMQ3W4I3OHO3c12QvkVxg-HMuLx0kG3Bb-uepxnjkfc&vsn=1.0.0
java.lang.IllegalArgumentException: Engine doesn't support WebSocketCapability
at io.ktor.client.engine.HttpClientEngine$DefaultImpls.checkExtensions(HttpClientEngine.kt:189)
at io.ktor.client.engine.HttpClientEngine$DefaultImpls.access$checkExtensions(HttpClientEngine.kt:36)
at io.ktor.client.engine.HttpClientEngine$install$1.invokeSuspend(HttpClientEngine.kt:152)
at io.ktor.client.engine.HttpClientEngine$install$1.invoke(Unknown Source:15)
at io.ktor.client.engine.HttpClientEngine$install$1.invoke(Unknown Source:4)
at io.ktor.util.pipeline.DebugPipelineContext.proceedLoop(DebugPipelineContext.kt:79)
at io.ktor.util.pipeline.DebugPipelineContext.proceed(DebugPipelineContext.kt:57)
at io.ktor.util.pipeline.DebugPipelineContext.execute$ktor_utils(DebugPipelineContext.kt:63)
at io.ktor.util.pipeline.Pipeline.execute(Pipeline.kt:92)
at io.ktor.client.plugins.HttpSend$DefaultSender.execute(HttpSend.kt:132)
at io.ktor.client.plugins.api.Send$Sender.proceed(CommonHooks.kt:47)
at io.ktor.client.plugins.HttpTimeoutKt$HttpTimeout$3$1.invokeSuspend(HttpTimeout.kt:168)
at io.ktor.client.plugins.HttpTimeoutKt$HttpTimeout$3$1.invoke(Unknown Source:17)
at io.ktor.client.plugins.HttpTimeoutKt$HttpTimeout$3$1.invoke(Unknown Source:6)
at io.ktor.client.plugins.api.Send$install$1.invokeSuspend(CommonHooks.kt:52)
at io.ktor.client.plugins.api.Send$install$1.invoke(Unknown Source:15)
at io.ktor.client.plugins.api.Send$install$1.invoke(Unknown Source:6)
at io.ktor.client.plugins.HttpSend$InterceptedSender.execute(HttpSend.kt:110)
at io.ktor.client.plugins.api.Send$Sender.proceed(CommonHooks.kt:47)
at io.ktor.client.plugins.HttpRedirectKt$HttpRedirect$2$1.invokeSuspend(HttpRedirect.kt:103)
at io.ktor.client.plugins.HttpRedirectKt$HttpRedirect$2$1.invoke(Unknown Source:17)
at io.ktor.client.plugins.HttpRedirectKt$HttpRedirect$2$1.invoke(Unknown Source:6)
at io.ktor.client.plugins.api.Send$install$1.invokeSuspend(CommonHooks.kt:52)
at io.ktor.client.plugins.api.Send$install$1.invoke(Unknown Source:15)
at io.ktor.client.plugins.api.Send$install$1.invoke(Unknown Source:6)
at io.ktor.client.plugins.HttpSend$InterceptedSender.execute(HttpSend.kt:110)
at io.ktor.client.plugins.api.Send$Sender.proceed(CommonHooks.kt:47)
at io.ktor.client.plugins.HttpCallValidatorKt$HttpCallValidator$2$2.invokeSuspend(HttpCallValidator.kt:128)
at io.ktor.client.plugins.HttpCallValidatorKt$HttpCallValidator$2$2.invoke(Unknown Source:13)
at io.ktor.client.plugins.HttpCallValidatorKt$HttpCallValidator$2$2.invoke(Unknown Source:6)
at io.ktor.client.plugins.api.Send$install$1.invokeSuspend(CommonHooks.kt:52)
at io.ktor.client.plugins.api.Send$install$1.invoke(Unknown Source:15)
at io.ktor.client.plugins.api.Send$install$1.invoke(Unknown Source:6)
at io.ktor.client.plugins.HttpSend$InterceptedSender.execute(HttpSend.kt:110)
at io.ktor.client.plugins.HttpSend$Plugin$install$1.invokeSuspend(HttpSend.kt:98)
at io.ktor.client.plugins.HttpSend$Plugin$install$1.invoke(Unknown Source:15)
at io.ktor.client.plugins.HttpSend$Plugin$install$1.invoke(Unknown Source:4)
at io.ktor.util.pipeline.DebugPipelineContext.proceedLoop(DebugPipelineContext.kt:79)
at io.ktor.util.pipeline.DebugPipelineContext.proceed(DebugPipelineContext.kt:57)
at io.ktor.util.pipeline.DebugPipelineContext.proceedWith(DebugPipelineContext.kt:42)
at io.ktor.client.plugins.websocket.WebSockets$Plugin$install$1.invokeSuspend(WebSockets.kt:188)
at io.ktor.client.plugins.websocket.WebSockets$Plugin$install$1.invoke(Unknown Source:13)
at io.ktor.client.plugins.websocket.WebSockets$Plugin$install$1.invoke(Unknown Source:4)
< /code>
Но я также получаю ответ: < /p>
System.out trying to connect
System.out connected
System.out subscribed
System.out channel status: kotlinx.coroutines.flow.ReadonlyStateFlow@a379d71
< /code>
Это метод, в котором я называю Supabase и My Supabaseclient < /p>
fun subscribeToMessages(chatroomID: String, listener: MessageListener) {
val scope = CoroutineScope(Dispatchers.IO)
GlobalScope.launch(Dispatchers.IO) {
try {
println("trying to connect")
val channel = supabase.channel("messages")
supabase.realtime.connect()
println("connected")
val changeFlow =
channel.postgresChangeFlow(schema = "public") {
table = "messages"
}
changeFlow.onEach {
println("record: ${it.record}")
}.launchIn(scope)
channel.subscribe()
println("subscribed")
println("channel status: ${channel.status}")
} catch (e: Exception) {
println("Subscription Initialization Error: ${e.message}")
e.printStackTrace()
}
}
}
< /code>
val supabase = createSupabaseClient(
supabaseUrl = "https://ucqbegvfrgwmsxharvgh.supabase.co",
supabaseKey = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InVjcWJlZ3Zmcmd3bXN4aGFydmdoIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDE1Mjc0NDMsImV4cCI6MjA1NzEwMzQ0M30.pMQ3W4I3OHO3c12QvkVxg-HMuLx0kG3Bb-uepxnjkfc"
) {
install(Postgrest)
install(Auth) {
autoSaveToStorage = true
autoLoadFromStorage = true
}
install(Storage)
install(Realtime)
defaultLogLevel = LogLevel.DEBUG
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... abase-real
Ошибка при попытке подключиться к режиму WebSocket в Kotlin с Supabase Realtime ⇐ Android
Форум для тех, кто программирует под Android
1749459320
Anonymous
Я делаю приложение для обмена сообщениями, и когда пользователь отправляет сообщение, его следует отображать, когда он нажимает кнопку отправки. Код деятельности написан на Java, а связь с Supabase написана в Kotlin. Когда я пытаюсь подключиться к базе данных в реальном времени, я получаю ошибку: < /p>
Error while trying to connect to realtime websocket. Trying again in 7s
URL: wss://ucqbegvfrgwmsxharvgh.supabase.co/realtime/v1/websocket?apikey=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InVjcWJlZ3Zmcmd3bXN4aGFydmdoIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDE1Mjc0NDMsImV4cCI6MjA1NzEwMzQ0M30.pMQ3W4I3OHO3c12QvkVxg-HMuLx0kG3Bb-uepxnjkfc&vsn=1.0.0
java.lang.IllegalArgumentException: Engine doesn't support WebSocketCapability
at io.ktor.client.engine.HttpClientEngine$DefaultImpls.checkExtensions(HttpClientEngine.kt:189)
at io.ktor.client.engine.HttpClientEngine$DefaultImpls.access$checkExtensions(HttpClientEngine.kt:36)
at io.ktor.client.engine.HttpClientEngine$install$1.invokeSuspend(HttpClientEngine.kt:152)
at io.ktor.client.engine.HttpClientEngine$install$1.invoke(Unknown Source:15)
at io.ktor.client.engine.HttpClientEngine$install$1.invoke(Unknown Source:4)
at io.ktor.util.pipeline.DebugPipelineContext.proceedLoop(DebugPipelineContext.kt:79)
at io.ktor.util.pipeline.DebugPipelineContext.proceed(DebugPipelineContext.kt:57)
at io.ktor.util.pipeline.DebugPipelineContext.execute$ktor_utils(DebugPipelineContext.kt:63)
at io.ktor.util.pipeline.Pipeline.execute(Pipeline.kt:92)
at io.ktor.client.plugins.HttpSend$DefaultSender.execute(HttpSend.kt:132)
at io.ktor.client.plugins.api.Send$Sender.proceed(CommonHooks.kt:47)
at io.ktor.client.plugins.HttpTimeoutKt$HttpTimeout$3$1.invokeSuspend(HttpTimeout.kt:168)
at io.ktor.client.plugins.HttpTimeoutKt$HttpTimeout$3$1.invoke(Unknown Source:17)
at io.ktor.client.plugins.HttpTimeoutKt$HttpTimeout$3$1.invoke(Unknown Source:6)
at io.ktor.client.plugins.api.Send$install$1.invokeSuspend(CommonHooks.kt:52)
at io.ktor.client.plugins.api.Send$install$1.invoke(Unknown Source:15)
at io.ktor.client.plugins.api.Send$install$1.invoke(Unknown Source:6)
at io.ktor.client.plugins.HttpSend$InterceptedSender.execute(HttpSend.kt:110)
at io.ktor.client.plugins.api.Send$Sender.proceed(CommonHooks.kt:47)
at io.ktor.client.plugins.HttpRedirectKt$HttpRedirect$2$1.invokeSuspend(HttpRedirect.kt:103)
at io.ktor.client.plugins.HttpRedirectKt$HttpRedirect$2$1.invoke(Unknown Source:17)
at io.ktor.client.plugins.HttpRedirectKt$HttpRedirect$2$1.invoke(Unknown Source:6)
at io.ktor.client.plugins.api.Send$install$1.invokeSuspend(CommonHooks.kt:52)
at io.ktor.client.plugins.api.Send$install$1.invoke(Unknown Source:15)
at io.ktor.client.plugins.api.Send$install$1.invoke(Unknown Source:6)
at io.ktor.client.plugins.HttpSend$InterceptedSender.execute(HttpSend.kt:110)
at io.ktor.client.plugins.api.Send$Sender.proceed(CommonHooks.kt:47)
at io.ktor.client.plugins.HttpCallValidatorKt$HttpCallValidator$2$2.invokeSuspend(HttpCallValidator.kt:128)
at io.ktor.client.plugins.HttpCallValidatorKt$HttpCallValidator$2$2.invoke(Unknown Source:13)
at io.ktor.client.plugins.HttpCallValidatorKt$HttpCallValidator$2$2.invoke(Unknown Source:6)
at io.ktor.client.plugins.api.Send$install$1.invokeSuspend(CommonHooks.kt:52)
at io.ktor.client.plugins.api.Send$install$1.invoke(Unknown Source:15)
at io.ktor.client.plugins.api.Send$install$1.invoke(Unknown Source:6)
at io.ktor.client.plugins.HttpSend$InterceptedSender.execute(HttpSend.kt:110)
at io.ktor.client.plugins.HttpSend$Plugin$install$1.invokeSuspend(HttpSend.kt:98)
at io.ktor.client.plugins.HttpSend$Plugin$install$1.invoke(Unknown Source:15)
at io.ktor.client.plugins.HttpSend$Plugin$install$1.invoke(Unknown Source:4)
at io.ktor.util.pipeline.DebugPipelineContext.proceedLoop(DebugPipelineContext.kt:79)
at io.ktor.util.pipeline.DebugPipelineContext.proceed(DebugPipelineContext.kt:57)
at io.ktor.util.pipeline.DebugPipelineContext.proceedWith(DebugPipelineContext.kt:42)
at io.ktor.client.plugins.websocket.WebSockets$Plugin$install$1.invokeSuspend(WebSockets.kt:188)
at io.ktor.client.plugins.websocket.WebSockets$Plugin$install$1.invoke(Unknown Source:13)
at io.ktor.client.plugins.websocket.WebSockets$Plugin$install$1.invoke(Unknown Source:4)
< /code>
Но я также получаю ответ: < /p>
System.out trying to connect
System.out connected
System.out subscribed
System.out channel status: kotlinx.coroutines.flow.ReadonlyStateFlow@a379d71
< /code>
Это метод, в котором я называю Supabase и My Supabaseclient < /p>
fun subscribeToMessages(chatroomID: String, listener: MessageListener) {
val scope = CoroutineScope(Dispatchers.IO)
GlobalScope.launch(Dispatchers.IO) {
try {
println("trying to connect")
val channel = supabase.channel("messages")
supabase.realtime.connect()
println("connected")
val changeFlow =
channel.postgresChangeFlow(schema = "public") {
table = "messages"
}
changeFlow.onEach {
println("record: ${it.record}")
}.launchIn(scope)
channel.subscribe()
println("subscribed")
println("channel status: ${channel.status}")
} catch (e: Exception) {
println("Subscription Initialization Error: ${e.message}")
e.printStackTrace()
}
}
}
< /code>
val supabase = createSupabaseClient(
supabaseUrl = "https://ucqbegvfrgwmsxharvgh.supabase.co",
supabaseKey = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InVjcWJlZ3Zmcmd3bXN4aGFydmdoIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDE1Mjc0NDMsImV4cCI6MjA1NzEwMzQ0M30.pMQ3W4I3OHO3c12QvkVxg-HMuLx0kG3Bb-uepxnjkfc"
) {
install(Postgrest)
install(Auth) {
autoSaveToStorage = true
autoLoadFromStorage = true
}
install(Storage)
install(Realtime)
defaultLogLevel = LogLevel.DEBUG
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79542530/error-while-trying-to-connect-to-realtime-websocket-in-kotlin-with-supabase-real[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия