public void Send(TMessageType messageType, byte[] message)
        {
            if (_isDisposed)
            {
                throw new ObjectDisposedException("SocketConnectionController has been disposed");
            }

            byte[] data = PacketProtocol <TMessageType> .WrapMessage(messageType, message);

            // Begin sending the data to the remote device.
            try
            {
                _socket.BeginSendTo(data, 0, data.Length, 0, _targetEndPoint, SendCallback, data);
            }
            catch (SocketException e)
            {
            }
        }