Esempio n. 1
0
        public static bool InitAll()
        {
            zlog.debug("Begin Init TERMINAL module");

            CMD_TREE.Init_HashCommandTree();
            CMD_ACTION.Init_Action();
            CMD_TREE.Show_HashCommandTree();

            zlog.debug("\tStart tcpTerminal");
            (new Thread(() => {
                tcpTerminal = new TcpServiceLine();
                tcpTerminal.OnClientDisconnected += new ClientDisconnectedEvent(tcpTerminal_OnClientDisconnected);
                tcpTerminal.OnClientConnectedFail += new ClientConnectedFailEvent(tcpTerminal_OnClientConnectedFail);
                tcpTerminal.OnClientConnectedSuccess += new ClientConnectedSuccessEvent(tcpTerminal_OnClientConnectedSuccess);
                tcpTerminal.OnLineArrival += new LineArrivalEvent(tcpTerminal_OnLineArrival);
                tcpTerminal.nameServer = "TERMINAL";
                isTcpStartSuccess = tcpTerminal.start(
                    RUN.Config[KW.TerminalListenIp],
                    RUN.Config.get_int(KW.TerminalListenPort),
                    RUN.Config.get_int(KW.TerminalMaxWorker)
                    );
                trickTcpStart.Set();
                if (!isTcpStartSuccess)
                {
                    return;
                }
                // begin monitoring global Signal
                while (!that.isQuit)
                {
                    Thread.Sleep(1000);
                }
                // global signal is Fire, then stop SERVER
                tcpTerminal.stop();
            })).Start();
            trickTcpStart.WaitOne();
            if (isTcpStartSuccess)
            {
                zlog.debug("\t* Success Init Terminatel Module");
                return(true);
            }
            else
            {
                zlog.debug("\t! FAIL Init Terminatel Module");
                return(true);
            }
        }