首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Warp Wai WebSockets拦截

Warp Wai WebSockets拦截
EN

Stack Overflow用户
提问于 2012-11-15 04:00:12
回答 1查看 819关注 0票数 2
代码语言:javascript
复制
import Network.Wai.Application.Static (staticApp, defaultWebAppSettings)
import Network.Wai.Handler.WebSockets (intercept)
import Network.Wai.Handler.Warp (runSettings, defaultSettings, 
                                 settingsIntercept, settingsPort)

main :: IO ()
main = do
    let s = defaultSettings {settingsPort=9160, settingsIntercept=intercept app}
    runSettings s $ staticApp $ defaultWebAppSettings "www"

1)我想知道的是,warp是否可以区分同一端口上的websocket请求和静态请求,以防止仅根据请求运行静态或拦截应用程序的开销。

http://hackage.haskell.org/packages/archive/wai-websockets/1.3.1/doc/html/src/Network-Wai-Handler-WebSockets.html

2)上面的源文件使用管道,这是否意味着对我的websocket receiveData使用严格的ByteString是安全的,而不用担心可能会溢出内存的大量传入数据,或者我应该使用懒惰的ByteString?

请注意,您不能像在http分块传输编码中那样对websocket进行分块。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-15 13:44:09

  1. 如果接收到websocket请求,那么应用程序本身将永远不会被调用,并且您的websocket处理程序将接管看到您的代码的websocket处理程序,因此无法保证您没有读取太多信息。但也可以按照您所描述的方式使用严格的ByteString。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13386373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档