예제 #1
0
        private void Form1_FormClosing(Object sender, FormClosingEventArgs e)
        {
            PServer1.StopServer();
            PServerUtils.StopServer();

            statusTimer.Stop();
            if (timer_exec)//FIXME properly invalidate the timer.
            {
                e.Cancel = true;
                return;
            }

            if (log_to_file)
            {
                log_file.Close();
            }
        }
예제 #2
0
        //--- Callbacks ---
        //This is the pipe the client/server use to exchange information such as settings
        //Requests are clear ascii text delimited by "\n"
        public void pipe_received_data_utils(String str)
        {
            str        = Regex.Replace(str, @"[^\u0001-\u007F]", string.Empty); //Remove non-ascii characters.
            reqBuffer += str;

            int index = -1;

            while ((index = reqBuffer.IndexOf("\n")) >= 0)
            {
                str       = reqBuffer.Substring(0, index);
                reqBuffer = reqBuffer.Substring(index + 1);

                Invoke(new MethodInvoker(() =>
                {
                    logTextBox.AppendText("Server received request: " + str + Environment.NewLine);
                    if ("PATH" == str)
                    {
                        PServerUtils.SendMessage(serverDirPath + "\n", PServerUtils.clientse);
                    }
                    else if ("LUAMAIN" == str)
                    {//deprecated
                        PServerUtils.SendMessage(serverDirPath + Path.DirectorySeparatorChar + "data" + Path.DirectorySeparatorChar + "lua" + Path.DirectorySeparatorChar + "autorun.lua\n", PServerUtils.clientse);
                    }
                    else if ("LOG" == str)
                    {
                        PServerUtils.SendMessage(serverDirPath + Path.DirectorySeparatorChar + "data" + Path.DirectorySeparatorChar + "log" + Path.DirectorySeparatorChar + "\n", PServerUtils.clientse);
                    }
                    else if ("LAYOUT" == str)
                    {
                        PServerUtils.SendMessage(serverDirPath + Path.DirectorySeparatorChar + "data" + Path.DirectorySeparatorChar + "layout" + Path.DirectorySeparatorChar + "\n", PServerUtils.clientse);
                    }
                    else
                    {
                        logTextBox.AppendText("Server received unknown request: " + str + Environment.NewLine);
                    }
                }));
            }
        }