Exemplo n.º 1
0
        public void GetControllerData_ReturnsExpected()
        {
            Startup();
            var data = new SControllerData_t
            {
                Axis   = new short[6],
                Slider = new short[6],
                Button = new byte[32],
                POV    = new byte[2],
                Dial   = new byte[8]
            };
            var ptr = Marshal.AllocHGlobal(Marshal.SizeOf(data));

            Marshal.StructureToPtr(data, ptr, true);

            GetControllerData(DataReceiver.ControllerID, ptr);

            var dataOut = (SControllerData_t)Marshal.PtrToStructure(ptr, typeof(SControllerData_t));

            var exp = DataReceiver.GetDummyControllerData();

            Assert.AreEqual(dataOut.Axis, exp.Axis);
            Assert.AreEqual(dataOut.Slider, exp.Slider);
            Assert.AreEqual(dataOut.Button, exp.Button);
            Assert.AreEqual(dataOut.POV, exp.POV);
            Assert.AreEqual(dataOut.Dial, exp.Dial);
        }
Exemplo n.º 2
0
        public void GetControllerInfo_ReturnsExpected()
        {
            var info = new SControllerInfo_t
            {
                AxisRange   = new short[18],
                SliderRange = new short[6],
                DialRange   = new byte[8]
            };
            var ptr = Marshal.AllocHGlobal(Marshal.SizeOf(info));

            Marshal.StructureToPtr(info, ptr, true);

            GetControllerInfo(0, ptr);

            var infoOut = (SControllerInfo_t)Marshal.PtrToStructure(ptr, typeof(SControllerInfo_t));

            var exp = DataReceiver.GetDefaultControllerInfo();

            Assert.AreEqual(infoOut.Name, exp.Name);
            Assert.AreEqual(infoOut.UUID, exp.UUID);
            Assert.AreEqual(infoOut.ID, exp.ID);
            Assert.AreEqual(infoOut.NumAxis, exp.NumAxis);
            Assert.AreEqual(infoOut.AxisRange, exp.AxisRange);
            Assert.AreEqual(infoOut.NumSliders, exp.NumSliders);
            Assert.AreEqual(infoOut.SliderRange, exp.SliderRange);
            Assert.AreEqual(infoOut.NumButtons, exp.NumButtons);
            Assert.AreEqual(infoOut.NumPOV, exp.NumPOV);
            Assert.AreEqual(infoOut.NumDials, exp.NumDials);
            Assert.AreEqual(infoOut.DialRange, exp.DialRange);
        }
Exemplo n.º 3
0
        public BattleController()
        {
            _dataReceiver        = DynamicTypeGenerator.GetNewType <DataReceiver>();
            _dataReceiver.OnBid += bid =>
            {
                Logger.AppendLine($"Got Bid:{bid}");
                var networkUserInfoData = GameMgr.GetIns().GetNetworkUserInfoData();
                Logger.AppendLine($"OppoId:{networkUserInfoData.GetOpponentUserID()} - OppoName:{networkUserInfoData.GetOpponentName()}");
            };
            _dataReceiver.CheckEventBinding();

            _battleManagerWatcher        = DynamicTypeGenerator.GetNewType <BattleManagerWatcher>();
            _battleManagerWatcher.OnWin += () =>
            {
                Logger.AppendLine($"Got Win:{GameMgr.DataMgrIns().m_BattleType}");
            };

            _battleManagerWatcher.OnLose += () =>
            {
                Logger.AppendLine($"Got Lose:{GameMgr.DataMgrIns().m_BattleType}");
            };

            _battleManagerWatcher.OnStart += () =>
            {
                Logger.AppendLine($"Got Start:{GameMgr.DataMgrIns().m_BattleType}");
            };
        }
Exemplo n.º 4
0
 //EnumType.DataEncode de = EnumType.DataEncode.UTF8;
 private void Configer_DataReceived(object sender, byte[] data)
 {
     if (txtCmd.Visible == true)
     {
         if (data.Length > 1)
         {
             string ss = new UTF8Encoding().GetString(data);
             if (ss.Contains("\r\n"))
             {
             }
             else if (ss.Contains("\r"))
             {
                 ss = ss.Replace("\r", "\r\n");
             }
             else
             {
                 ss = ss + "\r\n";
             }
             txtCmd.Invoke(new MethodInvoker(delegate
             {
                 //txtCmd.AppendText(new UTF8Encoding().GetString(data).Replace("\r", "\r\n"));
                 RichTextBoxExtension.AppendTextColorful(txtCmd, ss, Color.LightGreen);
                 txtCmd.SelectionStart = txtCmd.Text.Length;
             }));
         }
     }
     else
     {
         DataReceiver.AddData(data);
     }
 }
Exemplo n.º 5
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Ajax.Utility.RegisterTypeForAjax(typeof(AuthoringTool_CaseEditor_Paper_Paper_AnswerTypeEdit));

        getParametor();

        lbQuestionClassify.Text = DataReceiver.getQuestionGroupNameByQuestionGroupID(strGroupID);

        if (!IsPostBack)
        {
            //設定預設值
            clsHintsDB HintsDB = new clsHintsDB();
            string     strSQL_Conversation_AnswerType = "SELECT * FROM Conversation_AnswerType " +
                                                        "WHERE cQuestionClassifyID = '" + Convert.ToInt32(hfGroupSerialNum.Value) + "' ORDER BY cAnswerTypeNum DESC";
            DataTable dtConversation_AnswerType = HintsDB.getDataSet(strSQL_Conversation_AnswerType).Tables[0];
            if (dtConversation_AnswerType.Rows.Count > 0)
            {
                int iAnswerType = Convert.ToInt32(dtConversation_AnswerType.Rows[0]["cAnswerTypeNum"].ToString());
                ddlAnswerTypeNum.SelectedValue = iAnswerType.ToString();
                hfAnswerTypeNum.Value          = iAnswerType.ToString();
                //SetAnswerTypeName(iAnswerType);
            }
            else
            {
                hfAnswerTypeNum.Value = "0";
                //SetAnswerTypeName(0);
            }
        }
        SetAnswerTypeName(Convert.ToInt32(hfAnswerTypeNum.Value));
    }
Exemplo n.º 6
0
        public void MultipleSubscriptionOnDifferentKeys()
        {
            DataStream   stream    = new DataStream();
            DataReceiver receiver  = new DataReceiver();
            DataReceiver receiver2 = new DataReceiver();

            receiver.OnPayloadReceived((object p, string attribute, string label) =>
            {
                JObject payload = (JObject)p;
                JObject actual  = new JObject();
                actual.Add("int", 2);
                actual.Add("string", "value");

                foreach (var item in actual)
                {
                    Assert.IsTrue(payload.ContainsKey(item.Key));
                    Assert.AreEqual(payload.GetValue(item.Key), item.Value);
                }
                Console.WriteLine(payload.GetType());
            });

            receiver2.OnPayloadReceived((object payload, string attribute, string label) =>
            {
                Assert.AreEqual(5, payload);
                Assert.AreEqual(typeof(int), payload.GetType());
                Console.WriteLine(payload.GetType());
            });

            receiver.Subscribe(stream, "hashtable", "JObject");
            receiver2.Subscribe(stream, "int", "int");

            stream.Parse(JSON);
            stream.DeliverSubscriptions();
        }
Exemplo n.º 7
0
    //RECEIVE DATA CALLBACK
    private static void OnReceiveData(IAsyncResult result)
    {
        try
        {
            int length = stream.EndRead(result);
            if (length <= 0)
            {
                return;
            }

            byte[] newBytes = new byte[length];
            Array.Copy(receiveBuffer, newBytes, length);
            UnityThread.executeInFixedUpdate(() =>
            {
                DataReceiver.HandleData(newBytes);
            });

            stream.BeginRead(receiveBuffer, 0, 4096 * 2, OnReceiveData, null);
            DataReceiver.playerBuffer.Clear();
        }
        catch (Exception)
        {
            return;
        }
    }
Exemplo n.º 8
0
        public void MultipleSubscribersOnSameKey()
        {
            DataStream   stream    = new DataStream();
            DataReceiver receiver  = new DataReceiver();
            DataReceiver receiver2 = new DataReceiver();

            receiver.OnPayloadReceived((object payload, string attribute, string label) =>
            {
                Assert.AreEqual(5, payload);
                Assert.AreEqual(typeof(int), payload.GetType());
                Console.WriteLine(payload.GetType());
            });

            receiver2.OnPayloadReceived((object payload, string attribute, string label) =>
            {
                Assert.AreEqual(5, payload);
                Assert.AreEqual(typeof(int), payload.GetType());
                Console.WriteLine(payload.GetType());
            });

            receiver.Subscribe(stream, "int", "int");
            receiver2.Subscribe(stream, "int", "int");

            stream.Parse(JSON);
            stream.DeliverSubscriptions();
        }
Exemplo n.º 9
0
        public void ReceiveSensorList()
        {
            string       payload  = "{\"available_sensors\":[{\"temperature\":\"double\"}, {\"humidity\":\"int\"}]}";
            DataStream   stream   = new DataStream();
            DataReceiver receiver = new DataReceiver();

            receiver.OnPayloadReceived((object received_payload, string attribute, string label) =>
            {
                JArray received = (JArray)received_payload;
                foreach (JObject obj in received)
                {
                    Console.WriteLine(obj);
                    Console.WriteLine(obj.GetType());

                    //Assert.IsTrue(obj.ContainsKey("temperature"));
                    //Assert.IsTrue(obj.ContainsKey("humidity"));

                    //Assert.AreEqual(obj["temperature"], "double");
                    //Assert.AreEqual(obj["humidity"], "int");

                    foreach (var elem in obj)
                    {
                        Console.WriteLine(elem.Key);
                        Console.WriteLine(elem.Value);
                    }
                }
            });

            receiver.Subscribe(stream, "available_sensors", "JArray");

            stream.Parse(payload);
            stream.DeliverSubscriptions();
        }
Exemplo n.º 10
0
        /// <summary>
        /// 建立選取呈現方式的下拉式選單的內容
        /// </summary>
        /// <param name="dlPresent"></param>
        /// <param name="strCaseID"></param>
        /// <param name="intClinicNum"></param>
        /// <param name="strSectionName"></param>
        public void setupDropDownListPresent(DropDownList dlPresent, string strCaseID, int intClinicNum, string strSectionName)
        {
            dlPresent.Items.Clear();

            string  strSQL = "SELECT sWorkType, cDescription	FROM SectionWorkType WHERE (sSectionKind = '301') ORDER BY sWorkType";
            SqlDB   myDB   = new SqlDB(System.Configuration.ConfigurationSettings.AppSettings["connstr"]);
            DataSet ds     = myDB.getDataSet(strSQL);

            if (ds.Tables[0].Rows.Count > 0)
            {
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    if (i < 4 || i > 8)
                    {
                        string strWorkType    = ds.Tables[0].Rows[i]["sWorkType"].ToString();
                        string strDescription = ds.Tables[0].Rows[i]["cDescription"].ToString();

                        ListItem li = new ListItem(strDescription, strWorkType);
                        dlPresent.Items.Add(li);
                    }
                }
            }
            ds.Dispose();

            //取得此Section目前正在執行的WorkType
            string strSectionWorkType = DataReceiver.getSectionWorkTypeFromUserLevelPresentBySectionName(strCaseID, intClinicNum, strSectionName);

            for (int j = 0; j < dlPresent.Items.Count; j++)
            {
                if (dlPresent.Items[j].Value == strSectionWorkType)
                {
                    dlPresent.Items[j].Selected = true;
                }
            }
        }
Exemplo n.º 11
0
 public Receiver()
 {
     _dataReceiver  = new DataReceiver();
     _dataValidator = new DataValidator();
     _rangeChecker  = new RangeChecker();
     _logger        = new Logger();
 }
 private void Awake()
 {
     receiver = new MessageTrans.DataReceiver();
     receiver.RegistHook();
     childSender = new MessageTrans.DataSender();
     sendThread  = new Thread(SendThread);
 }
Exemplo n.º 13
0
        public void saveCities()
        {
            try
            {
                var dateReceiver = new DataReceiver(new Cookie());
                //var citiesRequest = new CityRequest("", "", "LLBG");
                //var cities = dateReceiver.GetData<City>(citiesRequest);
                //var countriesRequest = new CountryRequest("", "LLBG");
                //var countries = dateReceiver.GetData<Country>(countriesRequest);
                //var countriesService = new CountryService();
                //countriesService.SaveCities(countries);
                //foreach (var c in cities)
                //{
                //    c.CountryID = c.Country.CountryID;
                //}
                //var citiesService = new CityService();
                //citiesService.SaveCities(cities);

                var airlinesRequest = new AirlineRequest("", "LLBG");
                var airlines        = dateReceiver.GetData <Airline>(airlinesRequest);
                var airlinesService = new AirlineServise();
                airlinesService.SaveAirline(airlines);
            }
            catch (Exception ex)
            {
            }
        }
Exemplo n.º 14
0
    IEnumerator ServerConect()
    {
        int count = 0;

        while (count < 100)
        {
            try
            {
                clientSock.Connect(IPAddress.Loopback, port);
                break;
            }
            catch
            {
                Debug.Log("서버와 연결이 끊겼습니다. 실패 : " + count + "회");
            }
            count++;

            yield return(new WaitForSeconds(5f));
        }

        if (clientSock.Connected)
        {
            dataReceiver = new DataReceiver(clientSock, receiveMsg, receiveLock);
            dataReceiver.StartDataReceive();
            SetServerConnection();
        }
        else
        {
            Debug.Log("서버와 연결이 되지않아 클라이언트를 종료합니다.");
            Application.Quit();
        }
    }
Exemplo n.º 15
0
 private void btnSend_Click(object sender, EventArgs e)
 {
     try
     {
         byte[] data = bytesBox1.GetCMD().Bytes;
         DataReceiver.AddData(data, true);
         if (this.ckLine.Checked)
         {
             byte[] bytes  = { 0x0d, 0x0a };
             int    length = data.Length + bytes.Length;
             byte[] bs     = new byte[length];
             for (int i = 0; i < data.Length; i++)
             {
                 bs[i] = data[i];
             }
             bs[length - 2] = 0x0d;
             bs[length - 1] = 0x0a;
             if (udpClient.SendData(bs) == true)
             {
                 MDataCounter.PlusSend(bs.Length);
             }
         }
         else
         {
             if (udpClient.SendData(data) == true)
             {
                 MDataCounter.PlusSend(data.Length);
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Exemplo n.º 16
0
        /// <summary>
        /// When activity is created:
        ///     - Create a broadcast receiver for information sent by the service that talks to the bluetooth device
        ///     - Set the initial content view
        ///     - Check bluetooth is available
        ///     - Retrieve preferences for remote device name/address
        ///     - Set up the buttons to their initial state
        /// </summary>
        /// <param name="bundle">Saved bundle state</param>
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            SetContentView(Resource.Layout.DeviceControl);

            // Get local Bluetooth adapter
            bluetoothAdapter = BluetoothAdapter.DefaultAdapter;

            // If the adapter is null, then Bluetooth is not supported
            if (bluetoothAdapter == null)
            {
                Toast.MakeText(this, "Bluetooth is not available", ToastLength.Long).Show();
                Finish();
                return;
            }

            IntentFilter intentFilter = new IntentFilter();

            intentFilter.AddAction(AppConst.rxIntentName);
            receiverInstance = new DataReceiver(this);
            RegisterReceiver(receiverInstance, intentFilter);

            ISharedPreferences sharedPref = PreferenceManager.GetDefaultSharedPreferences(this);

            deviceAddress = sharedPref.GetString(BundleConst.bundleAddrTag, "");
            deviceName    = sharedPref.GetString(BundleConst.bundleDeviceTag, "");

            InitialiseButtons();
        }
Exemplo n.º 17
0
 static Program()
 {
     DataReceiver  = new DataReceiver();
     DataValidator = new DataValidator();
     RangeChecker  = new RangeChecker();
     Logger        = new Logger();
 }
        /// <summary>
        /// Save text question
        /// </summary>
        private void SaveQuestionText()
        {
            //儲存題目
            clsTextQuestion myText          = new clsTextQuestion();
            string          strQTextContent = txtQuestionData.Text;
            string          strATextContent = txtAnswerData.Text;

            strQTextContent = strQTextContent.Replace("&lt;", "<");
            strQTextContent = strQTextContent.Replace("&gt;", ">");
            strATextContent = strATextContent.Replace("&lt;", "<");
            strATextContent = strATextContent.Replace("&gt;", ">");

            myText.saveTextQuestion(strQID, strQTextContent, strATextContent, strUserID, strPaperID, strGroupDivisionID, strGroupID, hiddenQuestionMode.Value);

            //儲存問題難易度
            int iQuestionLevel = AuthoringTool.QuestionEditLevel.QuestionLevel.QuestionLevelName_SELECT_QuestionLevel(ddlQuestionLevel.SelectedValue);

            AuthoringTool.QuestionEditLevel.QuestionLevel.INSERT_QuestionLevel(strQID, iQuestionLevel);

            //儲存問題的病徵
            AuthoringTool.QuestionEditLevel.QuestionLevel.QuestionLevel_INSERT_QuestionSymptoms(strQID, ddlSymptoms.SelectedValue);

            //如果是Specific題目則需儲存一筆資料至Paper_Content
            if (hiddenQuestionMode.Value == "Specific")
            {
                DataReceiver myReceiver    = new DataReceiver();
                int          intContentSeq = myReceiver.getPaperContentMaxSeq(strPaperID) + 1;
                SQLString    mySQL         = new SQLString();
                mySQL.SaveToQuestionContent(strPaperID, strQID, "0", "2", hiddenQuestionMode.Value, intContentSeq.ToString());
            }
        }
Exemplo n.º 19
0
        public void ReceiveJObject()
        {
            DataStream   stream   = new DataStream();
            DataReceiver receiver = new DataReceiver();

            receiver.OnPayloadReceived((object p, string attribute, string label) =>
            {
                JObject payload = (JObject)p;
                JObject actual  = new JObject
                {
                    { "int", 2 },
                    { "string", "value" }
                };

                foreach (var item in actual)
                {
                    Assert.IsTrue(payload.ContainsKey(item.Key));
                    Assert.AreEqual(payload.GetValue(item.Key), item.Value);
                }
                Console.WriteLine(payload.GetType());
            });

            receiver.Subscribe(stream, "hashtable", "JObject");

            stream.Parse(JSON);
            stream.DeliverSubscriptions();
        }
Exemplo n.º 20
0
 public void GetAllPriceData()
 {
     //Pro Minute können bei Steam nur die Preise für 20 Artikel angefragt werden, danach kommt eine Fehlermeldung
     foreach (WeaponSkin skin in SteamInventory)
     {
         skin.PriceCol.Insert(0, DataReceiver.GetMarketPriceoverview("3", skin.AppId, skin.Market_hash_name));
     }
 }
Exemplo n.º 21
0
 public void StartListen(int port)
 {
     if (Receiver == null)
     {
         Receiver = new DataReceiver(ProcessReceivedData);
     }
     Receiver.StartListen(port);
 }
Exemplo n.º 22
0
 public void StopListen()
 {
     if (Receiver == null)
     {
         Receiver = new DataReceiver(ProcessReceivedData);
     }
     Receiver.ClosedListen();
 }
        protected void ddlAnswerOptions_SelectedIndexChanged(object sender, EventArgs e)
        {
            strAID = ddlAnswerOptions.SelectedValue;
            ViewState["TextQuestionAID"] = strAID;
            string strAnswer = DataReceiver.QuestionAnswer_Answer_SELECT_Answer(strQID, strAID);

            txtAnswerData.Text = strAnswer;
        }
    void OnConnected()
    {
        m_dataSender = new DataSender(m_writeStream);
        m_dataReceiver = new DataReceiver(GetComponent<ScreenStream>(), m_webCamStreamer);

        m_dataSender.SendHello();
        m_dataSender.SendWebCamDeviceList(m_webCamStreamer.Devices);
    }
Exemplo n.º 25
0
    void OnConnected()
    {
        m_dataSender   = new DataSender(m_writeStream);
        m_dataReceiver = new DataReceiver(GetComponent <ScreenStream>(), m_webCamStreamer);

        m_dataSender.SendHello();
        m_dataSender.SendWebCamDeviceList(m_webCamStreamer.Devices);
    }
Exemplo n.º 26
0
    public static IEnumerator LoadBattleResult(DataReceiver dr, int battleID)
    {
        WWW www;

        Debug.Log("my battle ID: " + battleID);

        if (battleID != 0)
        {
            www = new WWW("http://veuspillet.dk/getQuizBattleResult.php/?bid=" + battleID);
            yield return(www);
        }
        else
        {
            www = new WWW("http://veuspillet.dk/getQuizBattleResult.php/?bid=" + DataContainer.currentBattle.battleID);
            yield return(www);
        }

        QuizBattleResult battleResult;

        Debug.Log(www.text);

        string[] segmentedData = www.text.Split('|');

        string[] tempStrings;
        tempStrings = www.text.Split(',');

        string[] questionIDStrings       = segmentedData[0].Split(',');
        int[]    questionIDs             = new int[(tempStrings.Length - 3) / 3];
        string[] challengerAnswerStrings = segmentedData[1].Split(',');
        int[]    challengerAnswers       = new int[(tempStrings.Length - 3) / 3];
        string[] defenderAnswerStrings   = segmentedData[2].Split(',');
        int[]    defenderAnswers         = new int[(tempStrings.Length - 3) / 3];

        for (int j = 0; j < (tempStrings.Length - 3) / 3; j++)
        {
            questionIDs [j]       = int.Parse(questionIDStrings [j]);
            challengerAnswers [j] = int.Parse(challengerAnswerStrings [j]);
            defenderAnswers [j]   = int.Parse(defenderAnswerStrings [j]);
        }

        string[] remainingData = segmentedData[3].Split(',');

        battleResult = new QuizBattleResult(int.Parse(remainingData[remainingData.Length - 1]), questionIDs, challengerAnswers, defenderAnswers, int.Parse(remainingData [remainingData.Length - 3]), int.Parse(remainingData [remainingData.Length - 2]));

        www = new WWW("http://veuspillet.dk/getAllQuestionsFromQuiz.php/?qid=" + DataContainer.selectedQuiz.quizID);
        yield return(www);

        string[]   questionDataStrings = www.text.Split('|');
        Question[] questions           = new Question[questionDataStrings.Length];

        for (int i = 0; i < questionDataStrings.Length - 1; i++)
        {
            tempStrings   = questionDataStrings [i].Split(',');
            questions [i] = new Question(int.Parse(tempStrings [0]), tempStrings [1], tempStrings [2], tempStrings [3], tempStrings [4], tempStrings [5]);
        }

        dr.ReceiveBattleResult(battleResult, questions);
    }
Exemplo n.º 27
0
        public void SendFindLobbyMessage()
        {
            var clientData = new LobbyWaitData {
                ClientName = ClientName, Status = ReceiverStatus.Ok
            };
            var data = new DataReceiver(DataType.LobbyWait, clientData.ToString());

            SendMessage(data.ToString());
        }
Exemplo n.º 28
0
        public async Task <Report> ReadReportAsync(CancellationToken cancellationToken = default)
        {
            var transferResult = await DataReceiver.ReadAsync(cancellationToken);

            //Log the actual data read
            Logger.LogDataTransfer(new Trace(false, transferResult));

            return(_readTransferTransform(transferResult));
        }
 public void Reset()
 {
     State.Reset();
     Sld.Reset();
     DataReceiver.Reset();
     ProviderQueue.Reset();
     LearnerQueue.Reset();
     Context.Reset();
 }
Exemplo n.º 30
0
        public void RunTestConfiguration()
        {
            TestConfiguration testConfig = new TestConfiguration();

            StreamSimulator simulator = new StreamSimulator();
            DataReceiver receiver = new DataReceiver();


            simulator.Connect();
        }
Exemplo n.º 31
0
    public IEnumerator DataHandle()
    {
        while (true)
        {
            yield return(new WaitForSeconds(0.016f));

            int readCount = receiveMsgs.Count;

            for (int i = 0; i < readCount; i++)
            {
                //패킷을 Dequeue 한다
                //패킷 : 메시지 타입 + 메시지 내용
                DataPacket packet;

                //lock (receiveLock)
                //{
                packet = receiveMsgs.Dequeue();
                //}

                HeaderData       headerData       = new HeaderData();
                HeaderSerializer headerSerializer = new HeaderSerializer();
                headerSerializer.SetDeserializedData(packet.msg);

                if (packet.endPoint == null)
                {
                    headerSerializer.Deserialize(ref headerData);
                    DataReceiver.ResizeByteArray(0, NetworkManager.packetSource + NetworkManager.packetId, ref packet.msg);

                    if (server_notifier.TryGetValue(headerData.id, out serverRecvNotifier))
                    {
                        serverRecvNotifier(packet);
                    }
                    else
                    {
                        Debug.Log("DataHandler::Server.TryGetValue 에러 " + headerData.id);
                    }
                }
                else
                {
                    headerSerializer.UdpDeserialize(ref headerData);

                    DataReceiver.ResizeByteArray(0, NetworkManager.packetSource + NetworkManager.packetId + NetworkManager.udpId, ref packet.msg);

                    if (p2p_notifier.TryGetValue(headerData.id, out p2pRecvNotifier))
                    {
                        p2pRecvNotifier(packet, headerData.udpId);
                    }
                    else
                    {
                        Debug.Log("DataHandler::P2P.TryGetValue 에러 " + headerData.id);
                    }
                }
            }
        }
    }
Exemplo n.º 32
0
        public static void startRouter(
            string portName, 
            int baudRate, 
            string lfsIP, 
            int lfsPort, 
            DataReceiver[] receivers,
            int timeOutInterval = 360
        )
        {
            dataReceivers = receivers;

            serialPort = new SerialPort(portName, baudRate, Parity.None, 8, StopBits.One);
            serialPort.Handshake = Handshake.None;
            serialPort.RtsEnable = false;
            serialPort.DtrEnable = true;

            // Opening of the serial port
            serialPort.Open();

            for (int i = 0; i < dataReceivers.Length; i++)
                dataReceivers[i].setSerialPort(serialPort);

            if (!serialPort.IsOpen)
                throw new SerialPortNoConnectedException();

            // Create timeout interval.
            TimeSpan timeSpan = TimeSpan.FromSeconds(timeOutInterval);

            // Create OutGauge object with the specified timeout.
            outGauge = new OutGauge(timeSpan);

            // Attach event handler to packet-received event.
            outGauge.PacketReceived += packetReceived;
            outGauge.TimedOut += timedOut;

            // Start listening for packets from LFS.
            outGauge.Connect(lfsIP, lfsPort);

            if (!outGauge.IsConnected)
                throw new OutGaugeNoConnectedException();

            // Stop program from exiting while listening.
        }
Exemplo n.º 33
0
	void OnDisconnected()
	{
		m_readStream.Position = 0;
		m_readStream.SetLength(0);
		if (m_tcpClient != null)
			m_tcpClient.Close();
		m_tcpClient = null;
		m_dataSender = null;
		m_dataReceiver = null;

		GetComponent<ScreenStream>().OnDisconnect();
		m_webCamStreamer.OnDisconnect();
	}