Пример #1
0
        private void HandlerNetworkLayerCommEvent(object sender, EventArgs e)
        {
            var networkLayerEvent = e as NetWorkLayerEvent;

            if (networkLayerEvent == null)
            {
                return;
            }
            switch (networkLayerEvent.eventType)
            {
            case NetWorkEventType.NetworkSendEvent:
                break;

            case NetWorkEventType.NetworkReceiveEvent:

                ApplicationLayerProtocol app = networkDataDeal(networkLayerEvent);
                OnRaiseAppLayerProtocolEvent(
                    new AppLayerEvent()
                {
                    eventType = AppEventType.AppReceiveEvent,
                    ID        = app.Address,
                    A_PCI     = app.A_PCI,
                    listData  = app.A_Data
                });        //传输数据到上层
                break;

            case NetWorkEventType.Other:

                break;

            default:

                break;
            }
        }
Пример #2
0
        public ApplicationLayerProtocol networkDataDeal(NetWorkLayerEvent _event)
        {
            ApplicationLayerProtocol app = new ApplicationLayerProtocol();

            app.Address = _event.ID;

            int validDataIndex = 1;

            app.A_PCI = _event.listData[0];

            for (int i = validDataIndex; i != _event.listData.Count; ++i)
            {
                app.A_Data.Add(_event.listData[i]);
            }
            return(app);
        }
Пример #3
0
 public static void DisposeSendFlag(ApplicationLayerProtocol AppFrame)
 {
     //启用线程池
     ThreadPool.QueueUserWorkItem(new WaitCallback(SynchroSend), AppFrame);
 }
Пример #4
0
 public RequestSendEventArgs(ApplicationLayerProtocol frame)
 {
     FrameToSend = frame;
 }