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リクエストと静的リクエストを区別して、リクエストに応じて静的アプリまたはインターセプトアプリを実行するだけでオーバーヘッドを防ぐことができるかどうかです。
2)上記のソースファイルはコンジットを使用しています。つまり、メモリをオーバーフローさせる可能性のある大量の受信データを心配することなく、WebSocketのreceiveDataに厳密なByteStringを使用しても安全ですか、それとも怠惰なByteStringを使用する必要がありますか?
httpチャンク転送エンコーディングのようにWebSocketをチャンクすることはできないことに注意してください。