Olivine-Labs/Alchemy-Websockets — pull request #94 by steforster (2014-02-16 16:12:05+00:00)
Title: Client- and serverside bug fixes

I picked Alchemy as communication framework for [my remote actor library](https://github.com/steforster/Remact.Net) because of Alchemys slim design and the availability of a client implementation.
But after some initial success I ran into more and more bugs, especially on the client side.
This pull request collects all committs that were needed to make the library much more stable.
When reading the list of open issues I think some of them could be fixed by this pull request too:
E.g. #93, #89, #84, #78, #72, #66, #60, #53, #49, #25

The changed points are:
* Client connect and disconnect sequence:
Fixed errors and made it rfc6455 conformant
* Receive successive messages on client or server side:
Fixed message loss, when several messages are received in the same TCP packet
* Tested under Monodevelop
* Integration tests: New tests for successive and larger messages
* Added configuration flag "Handler.FastDirectSendingMode":
Useful when a server must be very responsive. When setting this flag,
the maximal throughput rises from 33 to more than 5000 request/response pairs per second
* Improved server side asynchrony when listening for clients and when receiving a client message.
* Removed static allocated threads on client side. These threads were dispensable in an asynchronous design.