private void OnWS(User u, string message)
        {
            string[] decoded = ProtocolCodec.Decode(message);
            if (decoded == null)
            {
                return;
            }

            switch (decoded[0])
            {
            default: break;

            case "mouse":
            {
                if (u.vm == null || u.connected == false)
                {
                    break;
                }

                lock (VMLock)
                {
                    u.vm.MouseMove(int.Parse(decoded[1]), int.Parse(decoded[2]));
                }
            } break;

            case "connect":
                lock (VMLock)
                {
                    if (!u.connected)
                    {
                        // Bad but unless you have 1000 vms it should be alright.
                        foreach (string id in ServerGlobals.virtualMachines.Keys)
                        {
                            if (decoded[1] == id)
                            {
                                Utils.Logger.Log(ServerGlobals.GetUserFromID(ID), "Connecting to VM " + id);
                                ServerGlobals.virtualMachines[decoded[1]].ConnectUser(ServerGlobals.GetUserFromID(ID));
                            }
                        }
                    }
                }
                break;

#if false
            case "list":
                if (!u.connected)
                {
                    List <string> vmids = new List <string>();
                    foreach (string id in ServerGlobals.virtualMachines.Keys)
                    {
                        vmids.Add(id);
                        Bitmap scalene_triangle = ServerGlobals.virtualMachines[id].vmc.GetDisplayBitmap();
                        Bitmap scaled           = ResizeImage(scalene_triangle, 160, 160);
                        //vmids.Add();
                    }
                    u.ActionQueue.Enqueue(new Action {
                        inst = vmids.ToArray()
                    });
                }
                break;
#endif
            }
        }