private void CompleteRead(IAsyncResult ar)
        {
            var size = m_socket.EndReceive(ar);

            if (size > 0 &&
                ar.AsyncState is byte[] data)
            {
                Scheduler.Schedule(() =>
                {
                    var start        = 0;
                    OscPacket packet = null;
                    try
                    {
                        packet = OscPacket.FromByteArray(data, ref start, size);
                    }
                    catch (Exception e)
                    {
                        if (!SuppressParsingExceptions)
                        {
                            throw new Exception("Error deserialising packet", e);
                        }

                        packet = null;
                    }

                    if (packet != null)
                    {
                        ForwardPacket(packet);
                    }
                });
            }
        }
 // Update is called once per frame
 void Update()
 {
     if (dataReceived)
     {
         dataReceived = false;
         FrameParser(OscPacket.FromByteArray(receivedEndPoint, bytePacket));
     }
 }
    void Update()
    {
        if (dataReceived)
        {
            dataReceived = false;
            FrameParser(OscPacket.FromByteArray(receivingEndPoint, bytePacket));
        }

        // when you're done appending messages, call SendBundle to send all the messages together in a bundle
        SendBundle();
    }
 // Update is called once per frame
 public void Report(ref List <RigidBodyGeneric> rbs, ref List <Vector3> unidentifiedMarkerPositions)
 {
     if (!connected && frameCounter + 60 < Time.frameCount)
     {
         SendCommand("Connect " + localPort);
         frameCounter = Time.frameCount;
     }
     if (dataReceived)
     {
         dataReceived = false;
         ParsePacket(OscPacket.FromByteArray(receivedEndPoint, bytePacket), ref rbs, ref unidentifiedMarkerPositions);
     }
 }
Exemple #5
0
        public void TestArrayDeserialisation()
        {
            var msg = OscPacket.FromByteArray(CreateExpectedDataArray());

            const string typeTag = ",[ifs]";

            msg.Should().BeOfType <OscMessage>()
            .Which
            .TypeTag.Should().Be(typeTag);

            var actual = msg.Data[0] as object[]; // the heterogeneous array.

            AssertCorrectArray(actual);
        }
        private void DeSerializerAndDeliver(byte[] data, IObserver <OscPacket> responseStream)
        {
            OscPacket response;

            try
            {
                response = OscPacket.FromByteArray(data);
            }
            catch (Exception)
            {
                response = null;
            }
            if (response != null)
            {
                responseStream.OnNext(response);
            }
        }
        private void DeSerializerAndDeliver(byte[] data)
        {
            OscPacket response;

            try
            {
                response = OscPacket.FromByteArray(data);
            }
            catch (Exception e)
            {
                response = null;
            }
            if (response != null)
            {
                ForwardPacket(response);
            }
        }
        private static void DeserialiseAndDeliver(byte[] data, OscInboundTcpStream stream)
        {
            OscPacket packet;

            try
            {
                packet = OscPacket.FromByteArray(data);
            }
            catch (Exception e)
            {
                packet = null;
            }

            if (packet != null)
            {
                stream.ForwardPacket(packet);
            }
        }
Exemple #9
0
        public void TestArrayDeserialisation4()
        {
            var msg = OscPacket.FromByteArray(CreateExpectedDataArray4());

            const string typeTag = ",[ifs]b";

            msg.Should().BeOfType <OscMessage>()
            .Which
            .TypeTag.Should().Be(typeTag);



            var actual = msg.Data[0] as object[]; // the heterogeneous array.

            AssertCorrectArray(actual);

            var expectedBlob = CreateTestBlob();
            var actualBlob   = (byte[])msg.Data[1];

            actualBlob.Should().BeEquivalentTo(expectedBlob);
        }
        private void parseData(IPEndPoint sourceEndPoint, byte[] data)
        {
            try
            {
                OscPacket packet = OscPacket.FromByteArray(data);
                onPacketReceived(packet);

                if (packet.IsBundle)
                {
                    onBundleReceived(packet as OscBundle);
                }
                else
                {
                    onMessageReceived(packet as OscMessage);
                }
            } catch (Exception ex)
            {
                if (!ConsumeParsingExceptions)
                {
                    onError(ex);
                }
            }
        }