我试图理解服务器端Websocket端点的实现/选项-特别是在使用PSGI/Plack的Perl中,我有一个问题:为什么所有服务器端websocket实现都基于事件驱动的PSGI服务器(Twiggy、Tatsumaki等)?
我知道websocket通信是异步的,但是一个非事件驱动的PSGI服务器(比如Starman)可以产生一个异步侦听器来处理websocket方面的事情。我见过(但不理解) Websocket服务器的PHP实现,那么为什么不能用PSGI实现同样的实现,而不必将服务器更改为事件驱动的服务器呢?
发布于 2014-03-06 19:24:53
处理套接字的底层网络逻辑取决于平台、操作系统和特定的软件实现。
最常见的三种方法是:
考虑到这一点,您确实可以创建单进程函数方法来处理套接字流量。但正如之前所证明的那样,这根本不是有效的。这就是为什么完全异步模型是当今主流的原因,因为大多数语言和平台都支持这种范式。
https://stackoverflow.com/questions/16979249
复制相似问题