コード例 #1
0
        /// <summary>
        /// 数据到达事件处理函数
        /// 1.将数据传到dataWriter中为写文件做准备
        /// 2.更新最新数据latestData
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void DataArrivalHandler(object sender, DataArrivalEventArgs e)
        {
            //sender其实就是ai
            IBasicAI thisAI = (IBasicAI)sender;

            double[,] newData = e.NewData;
            //只有AutoWriteDataToFile == true,才存文件
            if (thisAI.StaticConfig.AutoWriteDataToFile)
            {
                //传数据到dataWriter
                dataWriter.AcceptNewData(newData);
            }

            //更新最新数据latestData
            int latestdataIndex;

            //如果数据格式为“data[通道个数][每通道数据个数]”则不需要转置;
            //如果数据格式为“data[每通道数据个数][通道个数]”则需要转置
            if (basicAI.DataNeedTransposeWhenSaving)
            {
                latestdataIndex = newData.GetUpperBound(0);
                for (int i = 0; i < ChannelCount(-1); i++)
                {
                    latestData[i] = newData[latestdataIndex, i];
                }
            }
            else
            {
                latestdataIndex = newData.GetUpperBound(1);
                for (int i = 0; i < ChannelCount(-1); i++)
                {
                    latestData[i] = newData[i, latestdataIndex];
                }
            }
        }
コード例 #2
0
        private void wskClient_DataArrival(object sender, DataArrivalEventArgs e)
        {
            if (ClientLog)
            {
                LogClient(string.Format("Data Arrival ({0}: {1} bytes)", e.RemoteIP, e.TotalBytes));
            }
            object data = (wskClient.LegacySupport) ? wskClient.Get <string>() : wskClient.Get();

            if (data.GetType() == typeof(string))
            {
                LogClient(string.Format("Received: {0}", data));
            }
            else if (data.GetType() == typeof(FileData))
            {
                LogClient(string.Format("File Received: {0}", ((FileData)data).FileName));
                HandleIncomingFile((FileData)data);
            }
            else
            {
                LogClient(string.Format("Data Arrived: {0}", data.GetType()));
            }
        }