Adr*_*May 7 haskell long-polling happstack yesod haskell-snap-framework
我可以在Yesod或任何其他具有可比数据库功能的Haskell Web框架中进行长时间轮询吗?
确切地说,我想延迟HTTP响应,直到发生一些有趣的事情.还应该有一个超时,在此之后客户端将被提供响应,说"没有发生",然后客户端将发出相同的请求.
为了让生活更加复杂,我想到的应用程序是通过HTTP/HTML5和MIDP客户端的一个非常紧凑的UDP协议提供所有的东西.来自任一协议的事件都可以在任一协议中释放响应
TIA,阿德里安.
我无法回答更复杂的UDP内容的所有问题,但简短的回答是,是的,Yesod支持长轮询.你基本上可以这样做:
myHandler = do
mres <- timeout timeoutInMicroseconds someAction
case mres of
Nothing -> return nothingHappenedResponse
Just res -> doSomething res
Run Code Online (Sandbox Code Playgroud)
您可能希望从提升基础包中使用System.Timeout.Lifted.
| 归档时间: |
|
| 查看次数: |
671 次 |
| 最近记录: |