Использование Ktor в качестве клиента Websocket за корпоративным прокси - PullRequest
0 голосов
/ 29 апреля 2019

В настоящее время я пытаюсь настроить очень простой клиент Websocket, написанный с использованием Ktor и CIO

            val client = HttpClient(CIO).config {
                install(WebSockets)
            }

            client.wss(HttpMethod.Get, "some-host", 443, "/wsock") {
                val initialFrame = incoming.receive()
                if (initialFrame is Frame.Text) {
                    println(initialFrame.readText())
                }

                while (true) {
                    val nextMessage = readLine() ?: "<empty>"
                    send(Frame.Text(nextMessage))

                    var frame = incoming.receive()
                    if (frame is Frame.Text) {
                        println(frame.readText())
                    }
                }
            }

            client.close()

Это нормально работает на моей общедоступной машине, но не работает за корпоративным прокси. Я провел некоторое исследование, но не смог найти никаких настроек прокси-сервера для CIO Engine, и, похоже, он не учитывает параметры http (s) JVM .proxyHost / .proxyPort

Кто-нибудь заставил это работать?

...