Пример #1
0
        /// <summary>
        /// 构造函数,构造一个Listener对象,并新建线程进行监听
        /// </summary>
        /// <param name="pyhPort"></param>
        public Listener(PhyPort pyhPort)
        {
            this.listenPort     = pyhPort.iRemotePort;
            this.listenerNo     = pyhPort.PhyPortNo;
            this.listenerSocket = pyhPort.socket;
            this.epRemotePoint  = new IPEndPoint(IPAddress.Any, 0);

            this.listenerThread = new Thread(ListenerHandleFunc);
            this.listenerThread.Start();
        }
Пример #2
0
        /// <summary>
        /// 新增一个模拟物理端口,并为其绑定一个Listener
        /// </summary>
        /// <param name="PhyPortNo">物理端口号,大于0小于4</param>
        /// <param name="iRemotePort">监听端口</param>
        /// <param name="iLocalPort">发送端口</param>
        /// <returns></returns>
        public Const.EN_RET_CODE AddPort(int PhyPortNo, int iRemotePort, int iLocalPort)
        {
            if (PhyPortNo > Const.MAX_PHY_PORT_NUM || PhyPortNo < Const.MIN_PHY_PORT_NUM)
            {
                return(Const.EN_RET_CODE.EN_RET_PHY_PORT_OVERFLOW);
            }

            PhyPort p = new PhyPort(PhyPortNo, iRemotePort, iLocalPort);

            arrPhyPort[PhyPortNo] = p;
            Listener listener = new Listener(p);

            arrListener[PhyPortNo] = listener;

            return(Const.EN_RET_CODE.EN_RET_SUCC);
        }