编程语言
首页 > 编程语言> > java – 如何在play框架2中处理每个连接?

java – 如何在play框架2中处理每个连接?

作者:互联网

我正在获得关于如何构建游戏2的混合信息.它在网站上说它建立在akka上,这很可能意味着它每个连接都使用一个actor?它还说不要编写阻塞代码,因为它阻止其他事件在不同的连接中触发(有点像它阻止node.js中的事件循环).怎么可能因为1个actor中的阻塞代码没有阻止另一个actor中的代码?是不是像使用node.js那样使用actor vs回调?

解决方法:

当他们说Play建立在Akka之上时,他们意味着框架而不是网络服务器.这些连接由嵌入式Web服务器JBoss Netty(http://netty.io/)处理.

这些连接可以绑定(或不绑定)给Akka actor,以提供异步响应,如下所述:http://www.playframework.com/documentation/2.1.0/JavaAkka

actor之间的通信是非阻塞的,因为它们发送消息(任何对象)并且不等待响应(它们不调用方法与不同的actor通信).

逻辑类似于:

//somewhere in the code
ActorB.tell(new Request(...));
-----------------------------------------
ActorB:

    public void onReceive(Object msg) throws Exception {
        if (msg instanceof Request) {
            //process the request
            ActorA.tell(new Response(...))
        }
    }
----------------------------------------------------------------
ActorA:

    //ActorA is notified
    public void onReceive(Object msg) throws Exception {
        if (msg instanceof Response) {
            System.out.println("Response: " + msg)
        }
    }

方法tell()发送消息而不等待响应.

标签:java,playframework-2-0,playframework-2-1
来源: https://codeday.me/bug/20190703/1371134.html