【问题标题】:Ktor Android Client Websocket Connection FailedKtor Android 客户端 Websocket 连接失败
【发布时间】:2021-09-25 19:49:10
【问题描述】:

WebSocket 服务器是在线测试服务器 The Website 出了点问题,我不知道如何解决。

val client = HttpClient(CIO) { install(WebSockets) }
GlobalScope.launch {
    client.webSocket("ws://82.157.123.54:9010/ajaxchattest") {}
}

错误 printStackTrace

java.lang.IllegalStateException: Failed to parse request body: request body length 
should be specified,
chunked transfer encoding should be used or
keep-alive should be disabled (connection: close)

不知道如何启用编码或禁用 keep-alive 或指定正文长度。

【问题讨论】:

    标签: kotlin websocket ktor


    【解决方案1】:

    如果Origin 标头不存在或无效,则82.157.123.54:9010/ajaxchattest 端点响应403 Forbidden 而不是101 Switching Protocols。因此,要使其正常工作,只需将 Origin 标头附加一个格式正确的值:

    val client = HttpClient(CIO) { install(WebSockets) }
    client.webSocket("ws://82.157.123.54:9010/ajaxchattest", request = {
        header(HttpHeaders.Origin, "http://example")
    }) {}
    

    【讨论】:

      猜你喜欢
      • 2021-06-19
      • 2022-01-03
      • 1970-01-01
      • 1970-01-01
      • 2019-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多