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_waiwarpyesod_thanks_to/

On Tue, Sep 27, 2011 at 10:34 AM, Jeremy Shaw <jeremy@n-heptane.com> wrote:
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/WebSocket
[2]: http://github.com/jaspervdj/websockets
[3]: http://hackage.haskell.org/package/enumerator

Cheers,
Jasper

_______________________________________________
web-devel mailing list
web-devel@haskell.org
http://www.haskell.org/mailman/listinfo/web-devel


_______________________________________________
web-devel mailing list
web-devel@haskell.org
http://www.haskell.org/mailman/listinfo/web-devel