gpt4 book ai didi

scala - finagle-websocket 服务器示例不会在不阻塞监听的情况下死掉

转载 作者:行者123 更新时间:2023-12-05 01:04:07 26 4
gpt4 key购买 nike

我是 Finagle 的初学者。

今天我试着用 finagle-websocket 拼凑一个 hello world ,但我不明白为什么,当我运行它时,它不会阻止监听并死掉。
测试WS.scala:

package foo.bar

import com.twitter.finagle.HttpWebSocket
import com.twitter.finagle.Service
import com.twitter.finagle.websocket.WebSocket
import com.twitter.util.Future
import com.twitter.concurrent.Broker
import com.twitter.util.RandomSocket

object TestWS {
def main(args: Array[String]) {
val server = HttpWebSocket.serve(RandomSocket(), new Service[WebSocket, WebSocket] {
def apply(req: WebSocket): Future[WebSocket] = {
val outgoing = new Broker[String]
val socket = req.copy(messages = outgoing.recv)
req.messages foreach { outgoing ! _.reverse }
Future.value(socket)
}
})
}
}

死前只输出这些行:
May 19, 2014 4:00:35 PM com.twitter.finagle.Init$ apply
INFO: Finagle version 6.14.0 (rev=3c3e9b0370f67cb739feca51469dc20eb35aab67) built at 20140417-

我究竟做错了什么?

最佳答案

等待服务器的惯用方式是:

val server = ...
Await.ready(server)

关于scala - finagle-websocket 服务器示例不会在不阻塞监听的情况下死掉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23741184/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com