6

我的服务已经使用 Websockets 与浏览器内的 HTML5 客户端进行通信。客户端由正常的 http 请求由同一服务器提供服务。

现在我想在浏览器之外提供相同的服务/应用程序,并且我想通过 TCP 套接字提供它。

我使用的 RPCs/action 对象将是相同的,序列化将是相同的,逻辑是相同的。我只想使用 TCP 套接字而不是 WebSocket。

我想将代码放在同一个“项目文件夹”下,在我部署 playframework 服务器时立即启动(基本上在启动时我想开始监听 WebSocket、TCP 套接字和 http 请求),并将所有内容都放在部署时相同的包。

我知道:

  • 没有必要,因为 WebSocket 可以在非浏览器应用程序中使用,但请将此视为练习或好奇问题。
  • playframework 是建立在 netty 之上的,我之前使用 netty 来做一些 TCP 服务(虽然没什么大不了,也没有准备好任何产品……所以不是专家)。所以他们应该一起工作吧?

我想做什么:

  1. 让 akka 演员监听新的套接字连接。
  2. 将连接(WS 或 TCP 套接字)包装到一个ClientConnectionManager实例中
  3. 将其传递给负责连接/rpc 逻辑的参与者。

我考虑的其他线索:重新实现 playframework Controller 类。

或者是否有已经实施的解决方案?

4

0 回答 0