protected virtual void InitSocket() {
     if(_socket != null && !_socket.IsDisposed) {
         return;
     }
     _socket = _pool.GetSocket();
     _receiver = new ResponseReceiver(_socket);
 }
 public ClacksClient(ISocket socket) {
     if(socket == null) {
         throw new ArgumentNullException("socket");
     }
     _socket = socket;
     _receiver = new ResponseReceiver(_socket);
 }