Example #1
0
        /// <summary>
        /// ClientCommunicator构造函数
        /// </summary>
        /// <param name="clientid">客户端ID</param>
        /// <param name="client">客户端的TCP实体</param>
        /// <param name="filter">报文过滤器</param>
        public Communicator(ICommer parent_commer, long clientid, Socket client, ICommandInterpreter intepreter,
                            IMessageExtractor extractor, IMessageEncoder encoder, bool compress)
        {
            m_ParentCommer = parent_commer;
            m_ClientID     = clientid;
            m_Client       = client;
            m_ClientInfo   = client.RemoteEndPoint as IPEndPoint;

            m_Interpreter = intepreter;

            if (m_Interpreter != null)
            {
                m_Interpreter.CommunicatorObj = this;
            }

            m_bCompress = compress;

            m_Extractor            = extractor;
            m_Extractor.Compressed = compress;

            m_Encoder           = encoder;
            onConnectionBroken += new ConnectionBrokenHandler(ClientCommunicator_onConnectionBroken);
        }