Вот мой код для конфигурации Scarlet:
Код: Выделить всё
val loggingInterceptor = HttpLoggingInterceptor()
val interceptor = loggingInterceptor.apply {
loggingInterceptor.level = HttpLoggingInterceptor.Level.BODY
}
val httpClient: OkHttpClient = OkHttpClient.Builder()
.readTimeout(2000 , TimeUnit.MILLISECONDS)
.writeTimeout(2000, TimeUnit.MILLISECONDS)
.followRedirects(false)
.connectTimeout(3000 , TimeUnit.MILLISECONDS)
.addInterceptor(interceptor)
.build()
val scarlet = Scarlet(
OkHttpWebSocket (
httpClient,
OkHttpWebSocket.SimpleRequestFactory(
{ Request.Builder().url(baseUrl).build()},
{ ShutdownReason.GRACEFUL }
)
),
Scarlet.Configuration (
backoffStrategy = LinearBackoffStrategy(3000),
messageAdapterFactories = listOf(MoshiMessageAdapter.Factory()),
streamAdapterFactories = listOf(CoroutinesStreamAdapterFactory()),
)
)
val bitService = scarlet.create(BitService::class.java)
bitService.authenticateUser(
RequestDataFrame(
messageType = 0,
sequenceNumber = 0,
functionName = "AuthenticateUser",
payloadRequest = "{UserName:, Password:}"
)
)
Также, если вы знаете какое-либо лучшее решение для реализации веб-сокетов, которое в чистом виде похоже на Retrofit, дайте мне знать. знаю!
Подробнее здесь: https://stackoverflow.com/questions/791 ... tin-builti
Мобильная версия