// NOTE: The received messages at each server are updated here
    // Hence, this update depends on your application architecture
    // How many frames per second or Update() calls per frame?
    void Update()
    {
        OSCHandler.Instance.UpdateLogs();

        msg = "0.1544944";
        byte[] val = new byte[] { 176, 8, 0 };

        servers = OSCHandler.Instance.Servers;
        clients = OSCHandler.Instance.Clients;
        if (UnityEngine.Random.value < 0.01f)
        {
            randVal = UnityEngine.Random.Range(0f, 0.7f);
            Debug.Log("sending messages");
            //	OSCHandler.Instance.SendMessageToClient ("localhost", "/user/1", randVal);
            //	OSCHandler.Instance.SendMessageToClient ("localhost", "/user/2", randVal);
            //	OSCHandler.Instance.SendMessageToClient ("localhost", "/user/3", randVal);
            //	OSCHandler.Instance.SendMessageToClient ("localhost", "/user/4", randVal);
        }
        OSCHandler.Instance.UpdateLogs();

        foreach (KeyValuePair <string, ServerLog> item in servers)
        {
            // If we have received at least one packet,
            // show the last received from the log in the Debug console
            if (item.Value.log.Count > 0)
            {
                int lastPacketIndex = item.Value.packets.Count - 1;
                UnityEngine.Debug.Log("received something");
                UnityEngine.Debug.Log(String.Format("SERVER: {0} ADDRESS: {1} VALUE : {2}",
                                                    item.Key,                                                   // Server name
                                                    item.Value.packets [lastPacketIndex].Address,               // OSC address
                                                    item.Value.packets [lastPacketIndex].Data [0].ToString())); //First data value
                Vector3 newpos = Camera.main.ScreenToWorldPoint(new Vector3(UnityEngine.Random.Range(0f, Screen.width), UnityEngine.Random.Range(0f, Screen.height), 2f));
                if (item.Value.packets [lastPacketIndex].Address == "Frog/ip/src")
                {
                    if (tempFrog != null)
                    {
                        tempFrog.GetComponent <FrogScript> ().ChangeType("ip");
                        tempFrog.GetComponent <FrogScript> ().AssignIP(item.Value.packets [lastPacketIndex].Data [0].ToString());
                    }
                }

                else if (item.Value.packets [lastPacketIndex].Address == "Frog/ip/ttl")
                {
                    if (tempFrog != null)
                    {
                        tempFrog.GetComponent <FrogScript> ().ChangeType("ip");
                        tempFrog.GetComponent <FrogScript> ().SetTTL(int.Parse(item.Value.packets [lastPacketIndex].Data [0].ToString()));
                    }
                }

                else if (item.Value.packets [lastPacketIndex].Address == "Frog/ip/dst")
                {
                    holeManager.CheckAdd(item.Value.packets [lastPacketIndex].Data [0].ToString());
                }

                else if (item.Value.packets [lastPacketIndex].Address == "Frog/radiotap")
                {
                    //INSTANTIATE
                    tempFrog = Instantiate(frogSprite, newpos, Quaternion.identity) as GameObject;
                    tempFrog.GetComponent <FrogScript> ().ChangeType("ip");
                    tempFrog.GetComponent <FrogScript> ().AssignChannel(int.Parse(item.Value.packets [lastPacketIndex].Data [0].ToString()));
                }

                else if (item.Value.packets [lastPacketIndex].Address == "Frog/http")
                {
                    UnityEngine.Debug.Log("OOOOH HTTTP!!");
                    //INSTANTIATE
                    tempFrog = Instantiate(frogSprite, newpos, Quaternion.identity) as GameObject;
                    tempFrog.GetComponent <FrogScript> ().ChangeType("http");
                    holeManager.AssignServer(item.Value.packets [lastPacketIndex].Data [0].ToString());
                }

                else if (item.Value.packets [lastPacketIndex].Address == "Frog/http/user_agent")
                {
                    pondManager.AssignUserAgent(item.Value.packets [lastPacketIndex].Data [0].ToString());
                }

                else if (item.Value.packets [lastPacketIndex].Address == "Frog/udp")
                {
                    //INSTANTIATE
                    tempFrog = Instantiate(frogSprite, newpos, Quaternion.identity) as GameObject;
                    tempFrog.GetComponent <FrogScript> ().ChangeType("udp");
                }

                else if (item.Value.packets [lastPacketIndex].Address == "Frog/ssl")
                {
                    tempFrog = Instantiate(frogSprite, newpos, Quaternion.identity) as GameObject;
                    tempFrog.GetComponent <FrogScript> ().ChangeType("ssl");
                }

                else if (item.Value.packets [lastPacketIndex].Address == "Frog/ssl/cookie")
                {
                    if (tempFrog != null)
                    {
                        tempFrog.GetComponent <FrogScript> ().GiveCookie(item.Value.packets [lastPacketIndex].Data [0].ToString());
                    }
                }

                else if (item.Value.packets [lastPacketIndex].Address == "Frog/wlan_mgt/ssid")
                {
                    if (tempFrog != null)
                    {
                        pondManager.AssignSSID(item.Value.packets [lastPacketIndex].Data [0].ToString());
                    }
                }

                else if (item.Value.packets [lastPacketIndex].Address == "Frog/wlan_addr")
                {
                    //INSTANTIATE
                    GameObject tempFrog = Instantiate(frogSprite, newpos, Quaternion.identity) as GameObject;
                    tempFrog.GetComponent <FrogScript> ().ChangeType("wlan");
                    string   combAddr   = item.Value.packets [lastPacketIndex].Data [0].ToString();
                    string   delimiter  = ",";
                    char[]   delimArray = delimiter.ToCharArray();
                    string[] combArray  = combAddr.Split(delimArray, 2);

                    //UnityEngine.Debug.Log ("OOOOH" + combArray [0] + "AND" + combArray [1]);
                    pondManager.CheckAdd(combArray [0]);
                    //holeManager.CheckAdd (combArray [1]);
                    //tempFrog.GetComponent<FrogScript> ().AssignIP (combArray[0]);
                }

                else if (item.Value.packets [lastPacketIndex].Address == "Frog/wlan_radio")
                {
                    //tempFrog = Instantiate (frogSprite, newpos, Quaternion.identity) as GameObject;
                    //tempFrog.GetComponent<FrogScript> ().ChangeType ("wlan");
                    pondManager.ConveySignalStrength(int.Parse(item.Value.packets [lastPacketIndex].Data [0].ToString()));
                    if (tempFrog != null)
                    {
                    }
                }
            }
        }


        foreach (KeyValuePair <string, ClientLog> item in clients)
        {
            // If we have sent at least one message,
            // show the last sent message from the log in the Debug console
            if (item.Value.log.Count > 0)
            {
                int lastMessageIndex = item.Value.messages.Count - 1;

                UnityEngine.Debug.Log(String.Format("CLIENT: {0} ADDRESS: {1} VALUE 0: {2}",
                                                    item.Key,                                                   // Server name
                                                    item.Value.messages[lastMessageIndex].Address,              // OSC address
                                                    item.Value.messages[lastMessageIndex].Data[0].ToString())); //First data value
            }
        }
    }