Async extensions for Socket

Async extensions for Socket. This extensions use SocketAsyncEventArgs, not Begin / End pattern.