/// <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(); }
/// <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); }