
Michael just implemented websockets with a simple demo that you can run. He
posted a basic explanation here, and we have instructions to run the demo:
http://www.reddit.com/r/haskell/comments/l2421/websockets_support_for_waiwar...
On Tue, Sep 27, 2011 at 10:34 AM, Jeremy Shaw
epic!
Happstack will be migrating to warp/wai really soon now. So, that should make happstack support trivial[1].
- jeremy
[1] One of the many reasons for migrating Happstack to warp is to get things like this for 'free'.
On Sep 25, 2011, at 9:46 AM, Jasper Van der Jeugt wrote:
Hello all,
I have been working on a WebSocket [1] library lately, which you can find here [2]. It's getting to the point at which I want to release it on Hackage. However, there is one thing remaining before the library will be really useful for applications: integration.
I would like to provide integration with Happstack, Snap and Yesod -- this is why I have built the library around the enumerator package [3]. It would be awesome if frameworks could more or less agree on a way in which an HTTP connection can be "transformed" to a WebSocket.
That way, I will be able to provide packages such as `websockets-warp`, `websockets-snap` etc.
Currently, the "entry point" of the websockets library is the following function:
runWebSockets :: WebSockets a -> Enumerator ByteString IO a -> Iteratee ByteString IO () -> Iteratee ByteString IO a
Where the first argument is the user-supplied code in the `WebSockets` monad (needs to keep a bit of state etc.), the second argument is an enumerator which the library can use to read from the socket, and the last argument is an iteratee with which the library can write to the socket.
A web server then needs to provide some way to get this enumerator/iteratee pair, and hand it over to the library (currently, this is lacking). Some more details apply, e.g. the web server shouldn't kill the websocket handler as fast as regular HTTP connections.
Is this proposal somewhat agreeable? I'm open to any feedback.
[1]: http://en.wikipedia.org/wiki/**WebSockethttp://en.wikipedia.org/wiki/WebSocket [2]: http://github.com/jaspervdj/**websocketshttp://github.com/jaspervdj/websockets [3]: http://hackage.haskell.org/**package/enumeratorhttp://hackage.haskell.org/package/enumerator
Cheers, Jasper
______________________________**_________________ web-devel mailing list web-devel@haskell.org http://www.haskell.org/**mailman/listinfo/web-develhttp://www.haskell.org/mailman/listinfo/web-devel
______________________________**_________________ web-devel mailing list web-devel@haskell.org http://www.haskell.org/**mailman/listinfo/web-develhttp://www.haskell.org/mailman/listinfo/web-devel