// receive thread
    private void ReceiveData(UdpClient client)
    {
        while (true)
        {
            try
            {
                // Bytes empfangen.
                IPEndPoint anyIP    = new IPEndPoint(IPAddress.Any, 0);
                byte[]     received = client.Receive(ref anyIP);

                //print(anyIP.Address);

                // Bytes mit der UTF8-Kodierung in das Textformat kodieren.
                string text = Encoding.UTF8.GetString(received);

                if (text.Contains("Art-Net"))
                {
                    // Den abgerufenen Text anzeigen.
                    print(">> " + text);

                    int             dmx = 18;
                    StringBuilder[] sb  = new StringBuilder[21];
                    String[]        str = new String[21];

                    for (int i = 0; i < 21; i++)
                    {
                        sb[i] = new StringBuilder();
                        sb[i].Append("#");
                        sb[i].Append(received[dmx++].ToString("X2"));
                        sb[i].Append(received[dmx++].ToString("X2"));
                        sb[i].Append(received[dmx++].ToString("X2"));
                        str[i] = sb[i].ToString();
                    }

                    //Output the colors received color values to the Car's LEDs

                    LEDControl led = GameObject.Find("LEDs").GetComponent <LEDControl>();
                    led.ChangeColor(str);

                    //writeSocket("test2");
                }
            }
            catch (Exception err)
            {
                print(err.ToString());
            }
        }
    }