/////////////////////////////////////////////////////////////////////////////////////////// 
        /// <summary>
        /// Initializes the Client object
        /// </summary>
        /// <param name="host">IP address or host name of the remote host</param>
        /// <param name="port">Port number of the remote host</param>
        /////////////////////////////////////////////////////////////////////////////////////////// 
        public void Initialize(string host, int port)
        {
            mLastTighteningID = 0;
            mTighteningIDs = new List<UInt32>();

            if (mFlags == OpenProtocolFlags.AutoMode) {
                mClient = new TCPClient<Message>(host, port, ClientFlags.AutoConnect | ClientFlags.AutoKeepAlive);
                mClient.Disconnected += new EventHandler(mClient_Disconnected);
                mClient.MessageReceived += new MessageReceivedEventHandler<Message>(mClient_MessageReceived);
                mKeepAlive = new Message(MessageType.KeepAlive);
                mClient.SetKeepAlive(mKeepAlive, 5000);
                mClient.ThreadCallback += new EventHandler(mClient_ThreadCallback);
            } else {
                mClient = new TCPClient<Message>(host, port, ClientFlags.None);
            }
            mPSet = 0; //Default to 1
            mClient.STX = null;
            mClient.ETX = 0x00;
            mTorqueEventLock = new object();
            mSendLock = new object();
            mInitialized = true;
        }