ReceivePacket() public method

Receive a packet of bytes over UDP.
public ReceivePacket ( byte buffer ) : int
buffer byte The buffer to be read into.
return int
示例#1
0
    /// <summary>
    /// Read Thread.  Loops waiting for packets.  When a packet is received, it is
    /// dispatched to any waiting All Message Handler.  Also, the address is looked up and
    /// any matching handler is called.
    /// </summary>
    private void Read()
    {
        try
        {
            while (ReaderRunning)
            {
                int length = OscPacketIO.ReceivePacket(buffer);

                if (length > 0)
                {
                    lock (ReadThreadLock)
                    {
                        if (paused == false)
                        {
                            ArrayList newMessages = OSC.PacketToOscMessages(buffer, length);
                            messagesReceived.AddRange(newMessages);
                        }
                    }
                }
                else
                {
                    Thread.Sleep(5);
                }
            }
        }

        catch (Exception e)
        {
            Debug.Log("ThreadAbortException" + e);
        }
        finally
        {
        }
    }
示例#2
0
 //Thread method waiting for UDP packets
 private void Read()
 {
     try
     {
         while (ReaderRunning)
         {
             byte[]        buffer  = new byte[1000];
             StringBuilder address = new StringBuilder();
             int           length  = packetIO.ReceivePacket(buffer, address);
             //Debug.Log("received packed of len=" + length);
             if (length > 0)
             {
                 string receivedMessage = System.Text.Encoding.ASCII.GetString(buffer);
                 //Debug.Log(receivedMessage);
                 HandleMessage(receivedMessage, address.ToString());
             }
             else
             {
                 Thread.Sleep(20);
             }
         }
     }
     catch (Exception e)
     {
         Debug.Log("ThreadAbortException" + e);
     }
 }
示例#3
0
 private void Read()
 {
     try {
         while (ReaderRunning)
         {
             byte[] buffer = new byte[1000];
             int    length = OscPacketIO.ReceivePacket(buffer);
             if (length > 0)
             {
                 ArrayList messages = Osc.PacketToOscMessages(buffer, length);
                 foreach (OscMessage om in messages)
                 {
                     if (AllMessageHandler != null)
                     {
                         AllMessageHandler(om);
                     }
                     OscMessageHandler h = (OscMessageHandler)Hashtable.Synchronized(AddressTable)[om.Address];
                     if (h != null)
                     {
                         h(om);
                     }
                 }
             }
             else
             {
                 Thread.Sleep(20);
             }
         }
     }
     catch (Exception e) {}
     finally {}
 }
示例#4
0
    // Read Thread.  Loops waiting for packets.  When a packet is received, it is
    // dispatched to any waiting All Message Handler.  Also, the address is looked up and
    // any matching handler is called.
    private void Read()
    {
        try
        {
            while (ReaderRunning)
            {
                byte[] buffer;
                int    length = OscPacketIO.ReceivePacket(out buffer, packetSize);
                string s      = "";
                for (int i = 0; i < length; ++i)
                {
                    s += (char)buffer[i];
                }
                //Debug.Log("received packed of len=" + length + " ::" + s);
                if (length > 0)
                {
                    ArrayList messages = Osc.PacketToOscMessages(buffer, length);
                    if (messages.Count < 1)
                    {
                        Debug.LogWarning("Empty package");
                    }
                    foreach (OscMessage om in messages)
                    {
                        if (AllMessageHandler != null)
                        {
                            AllMessageHandler(om);
                        }
                        else
                        {
                            Debug.LogWarning("No all handler");
                        }
                        OscMessageHandler h = (OscMessageHandler)Hashtable.Synchronized(AddressTable)[om.Address];
                        if (h != null)
                        {
                            h(om);
                        }

                        /*else
                         * {
                         *  Debug.LogWarning("No custom handler");
                         * }*/
                    }
                }
                else
                {
                    Thread.Sleep(20);
                }
            }
        }
        catch (Exception e)
        {
            Debug.Log("ThreadAbortException" + e);
        }
        finally
        {
            //Debug.Log("terminating thread - clearing handlers");
            //Cancel();
            //Hashtable.Synchronized(AddressTable).Clear();
        }
    }
示例#5
0
    private void Read()
    {
        try {
            while (ReaderRunning)
            {
                byte[] buffer = new byte[100000];
                int    length = udpPacketIO.ReceivePacket(buffer);

                if (length > 0)
                {
                }
                else
                {
                    Thread.Sleep(20);
                }
            }
            //} catch (Exception e) {
        } catch (ThreadAbortException e) {
            Debug.Log("ThreadAbortException" + e);
        }
//		finally
//        {
//			//Debug.Log("finally");
//        }
    }
示例#6
0
    /// <summary>
    /// Read Thread.  Loops waiting for packets.  When a packet is received, it is
    /// dispatched to any waiting All Message Handler.  Also, the address is looked up and
    /// any matching handler is called.
    /// </summary>
    private void Read()
    {
        threadLoops++;
        try
        {
            while (ReaderRunning)
            {
                threadLoops++;
                byte[] buffer = new byte[1000];
                int    length = OscPacketIO.ReceivePacket(buffer);
                threadLoops++;
                if (length > 0)
                {
                    threadReceived++;

                    ArrayList messages = Osc.PacketToOscMessages(buffer, length);


                    foreach (OscMessage om in messages)
                    {
                        if (AllMessageHandler != null)
                        {
                            AllMessageHandler(om);
                        }

                        OscMessageHandler h = (OscMessageHandler)Hashtable.Synchronized(AddressTable)[om.Address];
                        if (h != null)
                        {
                            h(om);
                        }
                    }
                }
                else
                {
                    Thread.Sleep(20);
                }
            }
        }

        catch (Exception e)
        {
            threadErrors++;
            Debug.Log("ThreadAbortException" + e);
        }
        finally
        {
            //Debug.Log("terminating thread - clearing handlers");
            //Cancel();
            //Hashtable.Synchronized(AddressTable).Clear();
        }
    }