Scala akka http websocket客户端无法使用ripple websocket

Scala akka http websocket客户端无法使用ripple websocket,scala,akka-http,Scala,Akka Http,我是阿卡http的新手。Im使用最新的稳定请求版本2.4.7。 我正在尝试连接到websocket,我能够做到。问题是当我使用它时使用“wss://s1.ripple.com“握手后,连接关闭 val incoming: Sink[Message, Future[Done]] = Sink.foreach[Message] { case message: TextMessage.Strict => println(message.text) case mes

我是阿卡http的新手。Im使用最新的稳定请求版本2.4.7。 我正在尝试连接到websocket,我能够做到。问题是当我使用它时使用“wss://s1.ripple.com“握手后,连接关闭

val incoming: Sink[Message, Future[Done]] =
  Sink.foreach[Message] {
    case message: TextMessage.Strict =>
      println(message.text)
    case message:TextMessage.Streamed =>
      println(message)
    case message => println

  }

val outgoing = Source.single(TextMessage("""{"command" : "fee"}"""))

  val webSocketFlow = Http().webSocketClientFlow(WebSocketRequest("wss://echo.websocket.org"))


  val (upgradeResponse, closed) = outgoing
    .viaMat(webSocketFlow)(Keep.right)
    .toMat(incoming)(Keep.both) 
    .run()

  val connected = upgradeResponse.flatMap { upgrade =>
    if (upgrade.response.status == StatusCodes.OK || upgrade.response.status == StatusCodes.SwitchingProtocols) {
      Future.successful(Done)
    } else {
      throw new RuntimeException(s"Connection failed: ${upgrade.response.status}")
    }
  }

  connected.onComplete(r => println(s"camote ${r} ${upgradeResponse}"))
  closed.foreach(_ => println("closed"))
/==================================================================更新=== 我现在可以从服务器获取消息。似乎是添加了Source.empty完成了这个任务。但现在的问题是,我无法断开与服务器的连接。。。Source.empty使连接保持活动状态,直到超时。我可以手动关闭从客户端到服务器的连接吗

val source=Source.single(TextMessage.Strict(<JsStringMessage>)).concatMat(Source.maybe)(Keep.left)

  val source =
      Http().webSocketClientFlow(WebSocketRequest("<wss url>"))

  val (done,data)= handshaker
      .viaMat(webSocketFlow)(Keep.right)
      .toMat(Sink.last)(Keep.both) 
      .run()

    val resuldata:Future[String] = data.map{
      case message:TextMessage.Strict => message.text
      case message =>"""{"status" : "failed"}"""
    }
    resuldata
val source=source.single(TextMessage.Strict()).concatMat(source.maybe)(Keep.left)
val源=
Http().webSocketClientFlow(WebSocketRequest(“”)
val(完成,数据)=握手器
.维亚马特(webSocketFlow)(靠右)
.toMat(最后一个下沉)(两个都保持)
.run()
val resultdata:Future[String]=data.map{
案例消息:TextMessage.Strict=>message.text
案例消息=>“”“{”状态“:“失败”}”
}
结果数据