Example #1
0
 public EzStartResult(
     StartResult result
     )
 {
     StampSheet = result.stampSheet;
     StampSheetEncryptionKeyId = result.stampSheetEncryptionKeyId;
 }
        private async Task StartSdkAsync()
        {
            if (!_sdkService.MeetingAgentStarted)
            {
                IVisualizeShell visualizeShellService =
                    DependencyResolver.Current.Container.Resolve <IVisualizeShell>();

                visualizeShellService.StartingSdk();

                UserInfo userInfo = DependencyResolver.Current.Container.Resolve <UserInfo>();

                StartResult startResult = await _sdkService.Start(userInfo);

                if (startResult.m_result.m_rc != 0)
                {
                    visualizeShellService.FinishStartingSdk(false, startResult.m_result.m_message);
                }
                else
                {
                    visualizeShellService.FinishStartingSdk(true, Messages.InfoMeetingSdkStarted);
                    int setFillModeResult = _sdkService.SetFillMode(0);

                    HasErrorMsg(setFillModeResult.ToString(), Messages.WarningSetFillModeFailed);
                }

                //Thread.Sleep(1000);
            }
        }
Example #3
0
        /// <inheritdoc />
        public Task StartAsync(CancellationToken cancellationToken)
        {
            Directory.SetCurrentDirectory(Path.GetDirectoryName(this.ComponentConfig.Path));

            cancellationToken.Register(() => DelayStart.TrySetCanceled());

            this.description = this.LoadAndRunComponents(cancellationToken);

            this.description.StartTask
                .ContinueWith(
                    t =>
                        {
                            DelayStart.TrySetException(t.Exception);
                            return DelayStart;
                        },
                    cancellationToken,
                    TaskContinuationOptions.OnlyOnFaulted,
                    TaskScheduler.Default)
                .ContinueWith(
                    t =>
                        {
                            DelayStart.TrySetResult(null);
                            return DelayStart;
                        },
                    cancellationToken,
                    TaskContinuationOptions.NotOnFaulted,
                    TaskScheduler.Default);

            return DelayStart.Task;
        }
 private void btnStartStop_Click(object sender, EventArgs e)
 {
     if (btnStartStop.Text == "启动服务")
     {
         bootstrap = BootstrapFactory.CreateBootstrap();
         if (!bootstrap.Initialize())
         {
             ServiceStatus = false;
             MessageBox.Show("Failed to initialize!");
             return;
         }
         else
         {
             StartResult result = bootstrap.Start();
             if (result == StartResult.Failed)
             {
                 ServiceStatus = false;
             }
             else if (result == StartResult.Success)
             {
                 var transferServer = bootstrap.GetServerByName("TransferServer") as TransferServer;
                 transferServer.NewSessionConnected += transferServer_NewSessionConnected;
                 transferServer.SessionClosed       += transferServer_SessionClosed;
                 var userServer = bootstrap.GetServerByName("UserServer") as UserServer;
                 userServer.UserJoin     += userServer_UserJoin;
                 userServer.UserLeave    += userServer_UserLeave;
                 userServer.SendToServer += userServer_UserSendToServer;
                 userServer.UserWhisper  += userServer_UserWhisper;
                 userServer.Broadcast    += userServer_UserBroadcast;
                 ServiceStatus            = true;
             }
             else
             {
                 //MessageBox.Show(string.Format("Start result: {0}!", result));
             }
             this.lblStatus.Text = result.ToString();
         }
     }
     else
     {
         bootstrap.Stop();
         ServiceStatus       = false;
         this.lblStatus.Text = "The server was stopped!";
     }
     if (ServiceStatus)
     {
         btnStartStop.Text = "停止服务";
     }
     else
     {
         btnStartStop.Text = "启动服务";
     }
 }
        /// <summary>
        /// 初始化Socket服务
        /// <code>
        /// SocketServiceContainer.Create(CurrentAddinConfiguration);
        /// </code>
        /// </summary>
        /// <param name="currentAddinConfig"></param>
        public static void Create(System.Configuration.Configuration currentAddinConfig)
        {
            IConfigurationSource configSource = currentAddinConfig.GetSection(SocketSection.SectionName) as IConfigurationSource;

            if (configSource == null)
            {
                return;
            }
            IBootstrap bootstrap = BootstrapFactory.CreateBootstrap(configSource);

            bootstrap.Initialize(new Log4NetLogFactory());
            StartResult result = bootstrap.Start();
        }
Example #6
0
        /// <summary>
        /// Requests start executing the program in the main task. Remember to call ResetProgramPointer() before.
        /// </summary>
        public bool StartProgramExecution()
        {
            if (!_isConnected)
            {
                logger.Debug("Cannot start program: not connected to controller");
                return(false);
            }

            if (_isRunning)
            {
                logger.Debug("Program is already running...");
                return(false);
            }

            if (!ResetProgramPointers())
            {
                logger.Debug("Cannot start program: cannot reset program pointer");
                return(false);
            }

            try
            {
                using (Mastership.Request(controller.Rapid))
                {
                    bool isControllerRunning = controller.Rapid.ExecutionStatus == ExecutionStatus.Running;

                    if (isControllerRunning != _isRunning)
                    {
                        throw new Exception("isRunning mismatch state");
                    }

                    StartResult res = controller.Rapid.Start(true);
                    if (res != StartResult.Ok)
                    {
                        logger.Debug($"Cannot start program: {res}");
                    }
                    else
                    {
                        _isRunning = true;
                        return(true);
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Debug("PROGRAM START ERROR: " + ex);
            }

            return(false);
        }
        private void button_StartListen_Click(object sender, EventArgs e)
        {
            try
            {
                //方法一、采用当前应用程序中的【App.config】文件。
                //var bootstrap = BootstrapFactory.CreateBootstrap();

                //=>方法二、采用自定义独立【SuperSocket.config】配置文件
                var bootstrap = BootstrapFactory.CreateBootstrapFromConfigFile("SuperSocket.config");
                if (!bootstrap.Initialize())
                {
                    ShowMessage("Failed to initialize!");
                    return;
                }
                StartResult startResult = bootstrap.Start();
                if (startResult == StartResult.Success)
                {
                    this.ShowMessage("服务启动成功!");
                    tcpServerEngine = bootstrap.AppServers.Cast <MyAppServer>().FirstOrDefault();
                    if (tcpServerEngine != null)
                    {
                        tcpServerEngine.NewSessionConnected += tcpServerEngine_NewSessionConnected;

                        /* 同时你要移除请求处理方法的注册,因为它和命令不能同时被支持:
                         * http://docs.supersocket.net/v1-6/zh-CN/A-Telnet-Example
                         * 如果你的服务器端包含有很多复杂的业务逻辑,这样的switch/case代码将会很长而且非常难看,并且没有遵循OOD的原则。
                         * 在这种情况下,SuperSocket提供了一个让你在多个独立的类中处理各自不同的请求的命令框架。
                         */
                        //tcpServerEngine.NewRequestReceived += tcpServerEngine_NewRequestReceived;
                        ECHO.ECHOMessageRecevied      += ECHO_ECHOMessageRecevied;
                        tcpServerEngine.SessionClosed += tcpServerEngine_SessionClosed;
                        this.ShowListenStatus();
                    }
                    else
                    {
                        this.ShowMessage("请检查配置文件中是否又可用的服务信息!");
                    }
                }
                else
                {
                    this.ShowMessage("服务启动失败!");
                }
            }
            catch (Exception ex)
            {
                ShowMessage(ex.Message);
            }
        }
        private async Task <QRTrackerStartResult> StartQRTrackingAsyncImpl(CancellationToken token)
        {
#if WINDOWS_UWP
            DebugLog("Requesting webcam capability");
            Windows.Security.Authorization.AppCapabilityAccess.AppCapability cap = Windows.Security.Authorization.AppCapabilityAccess.AppCapability.Create("webcam");
            var accessTask    = cap.RequestAccessAsync().AsTask();
            var completedTask = await Task.WhenAny(accessTask, Task.Delay(-1, token));

            var accessStatus = (accessTask == completedTask) ? accessTask.Result : Windows.Security.Authorization.AppCapabilityAccess.AppCapabilityAccessStatus.DeniedBySystem;
            if (accessStatus != Windows.Security.Authorization.AppCapabilityAccess.AppCapabilityAccessStatus.Allowed)
            {
                DebugLog("Failed to obtain webcam capability for qr code tracking");
            }
            else
            {
                DebugLog("Webcam capability granted.");
            }
#endif

            // Note: If the QRTracker is created prior to obtaining the webcam capability, initialization will fail.
            if (qrTracker == null)
            {
                DebugLog("Creating qr tracker");
                qrTracker          = new QRTracker();
                qrTracker.Added   += QrTracker_Added;
                qrTracker.Updated += QrTracker_Updated;
                qrTracker.Removed += QrTracker_Removed;
            }

            if (!token.IsCancellationRequested &&
                !IsTrackerRunning)
            {
                StartResult = qrTracker.Start();
                if (StartResult == QRTrackerStartResult.Success)
                {
                    DebugLog("Successfully started qr tracker");
                    IsTrackerRunning = true;
                }
                else
                {
                    Debug.LogWarning("Failed to start qr tracker: " + StartResult.ToString());
                }
            }

            return(await Task.FromResult(StartResult));
        }
Example #9
0
        public static StartResult Start()
        {
            StartResultInterop ret = ClashStart();

            var result = new StartResult {
                Code = ret.code,
            };

            if (ret.code == 0)
            {
                result.Addr   = Marshal.PtrToStringAnsi(ret.addr) !;
                result.Secret = Marshal.PtrToStringAnsi(ret.secret) !;
                CFree(ret.addr);
                CFree(ret.secret);
            }

            return(result);
        }
Example #10
0
        private void pOPStartServerBackWork()
        {
            LoadFinish = false;
            if (m_Bootstrap == null)
            {
                MessageUtilSkin.ShowTips("数据服务器配置加载错误,请检查服务器IP,端口是否设置正确。");
                return;
            }

            StartResult startResult = m_Bootstrap.Start();

            if (startResult == StartResult.Success)
            {
                mesServer = m_Bootstrap.AppServers.Cast <MesServer>().FirstOrDefault();
            }
            else
            {
                mesServer = null;
            }
        }
        private void button_StartListen_Click(object sender, EventArgs e)
        {
            try
            {
                //方法一、采用当前应用程序中的【App.config】文件。
                //var bootstrap = BootstrapFactory.CreateBootstrap();

                //=>方法二、采用自定义独立【SuperSocket.config】配置文件
                var bootstrap = BootstrapFactory.CreateBootstrapFromConfigFile("SuperSocket.config");
                if (!bootstrap.Initialize())
                {
                    ShowMessage("Failed to initialize!");
                    return;
                }
                StartResult startResult = bootstrap.Start();
                if (startResult == StartResult.Success)
                {
                    this.ShowMessage("服务启动成功!");
                    tcpServerEngine = bootstrap.AppServers.Cast <MyAppServer>().FirstOrDefault();
                    if (tcpServerEngine != null)
                    {
                        tcpServerEngine.NewSessionConnected += tcpServerEngine_NewSessionConnected;
                        tcpServerEngine.NewRequestReceived  += tcpServerEngine_NewRequestReceived;
                        tcpServerEngine.SessionClosed       += tcpServerEngine_SessionClosed;
                        this.ShowListenStatus();
                    }
                    else
                    {
                        this.ShowMessage("请检查配置文件中是否有可用的服务信息!");
                    }
                }
                else
                {
                    this.ShowMessage("服务启动失败!");
                }
            }
            catch (Exception ex)
            {
                ShowMessage(ex.Message);
            }
        }
Example #12
0
        /// <summary>
        /// 启动AppServer
        /// </summary>
        private ErrorMessage InitAppServer()
        {
            ShowMessage(ColorHelper.MsgGray, "正在加载通讯服务...");
            Thread.Sleep(interval);
            try
            {
                //=>方法一、采用当前应用程序中的【App.config】文件BootstrapFactory.CreateBootstrap()。方法二、采用自定义独立【SuperSocket.config】配置文件
                var bootstrap = BootstrapFactory.CreateBootstrapFromConfigFile("SuperSocket.config");
                if (!bootstrap.Initialize())
                {
                    return new ErrorMessage()
                           {
                               ErrorCode = "Init Error", ErrorInfo = "Failed to initialize!"
                           }
                }
                ;

                StartResult startResult = bootstrap.Start();
                if (startResult == StartResult.Success)
                {
                    this.ShowMessage(ColorHelper.MsgGreen, "服务启动成功,等待设备连接 =>");
                }
                else
                {
                    return new ErrorMessage()
                           {
                               ErrorCode = "StartError", ErrorInfo = "服务启动失败!"
                           }
                };
            }
            catch (Exception ex)
            {
                return(new ErrorMessage()
                {
                    ErrorCode = "StartError", ErrorInfo = ex.Message
                });
            }
            return(null);
        }
Example #13
0
        private void StartCallback(IntPtr pData)
        {
            StartResult startResult = (StartResult)Marshal.PtrToStructure(pData, typeof(StartResult));

            IsServierStarted = startResult.m_result.m_rc == 0;

            ReturnMessage startReturnMessage;

            if (startResult.m_result.m_rc == 0)
            {
                CurrentAttendee.Id   = GlobalData.Instance.Classroom.SchoolRoomNum;
                CurrentAttendee.Name = GlobalData.Instance.Classroom.SchoolRoomName;
                IsServierStarted     = true;
                startReturnMessage   = ReturnMessage.GenerateMessage(startResult.m_result.m_message);
            }
            else
            {
                IsServierStarted   = false;
                startReturnMessage = ReturnMessage.GenerateError(startResult.m_result.m_message);
            }

            SetResult("Start", startReturnMessage);
        }
        private static void Main(string[] args)
        {
            Console.WriteLine("Press any key to start the server!");
            Console.ReadKey();
            Console.WriteLine();
            IBootstrap bootstrap = BootstrapFactory.CreateBootstrap();

            if (!bootstrap.Initialize())
            {
                Console.WriteLine("Failed to initialize!");
                Console.ReadKey();
            }
            else
            {
                StartResult result = bootstrap.Start();
                Console.WriteLine("Start result: {0}!", result);
                if (result == StartResult.Failed)
                {
                    Console.WriteLine("Failed to start!");
                    Console.ReadKey();
                }
                else
                {
                    Console.WriteLine("Press key 'q' to stop it!");
                    while (Console.ReadKey().KeyChar != 'q')
                    {
                        Console.WriteLine();
                    }
                    Console.WriteLine();
                    bootstrap.Stop();
                    foreach (var item in bootstrap.AppServers)
                    {
                    }
                    Console.WriteLine("The server was stopped!");
                }
            }
        }
Example #15
0
 /// <summary>
 /// 初始化服务器
 /// </summary>
 private void SetupAppServer()
 {
     if (mesServer == null)
     {
         //方法一、采用当前应用程序中的【App.config】文件。
         var bootstrap = BootstrapFactory.CreateBootstrap();
         if (!bootstrap.Initialize())
         {
             txtMsg.AppendText(DateTime.Now + ">> 初始化服务器失败" + Environment.NewLine);
             return;
         }
         StartResult startResult = bootstrap.Start();
         if (startResult == StartResult.Success)
         {
             txtMsg.AppendText(DateTime.Now + ">> 初始化服务器" + Environment.NewLine);
             mesServer = bootstrap.AppServers.Cast <MesServer>().FirstOrDefault();
             mesServer.Stop();
         }
         else
         {
             txtMsg.AppendText(DateTime.Now + ">> 初始化服务器失败" + Environment.NewLine);
         }
     }
 }
Example #16
0
        protected override void LoadContent()
        {
            kinectStartState = kinect.StartKinect();
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);

            playerPosition =
                new Vector2(GraphicsDevice.Viewport.TitleSafeArea.X + GraphicsDevice.Viewport.TitleSafeArea.Width / 2, GraphicsDevice.Viewport.TitleSafeArea.Y + GraphicsDevice.Viewport.TitleSafeArea.Height);

            cather.Initialize(
                new[] {
                    Content.Load<Texture2D>("Catcher/catcher-left"),
                    Content.Load<Texture2D>("Catcher/catcher-right"),
                    Content.Load<Texture2D>("Catcher/catcher-ltop"),
                    Content.Load<Texture2D>("Catcher/catcher-lbottom"),
                    Content.Load<Texture2D>("Catcher/catcher-rtop"),
                    Content.Load<Texture2D>("Catcher/catcher-rbottom"),
            },
            playerPosition,
            CatcherState.TopLeft);

            mainBackground = Content.Load<Texture2D>("mainbackground");

            crushedEggTextures[0] = Content.Load<Texture2D>("crash/crash-left");
            crushedEggTextures[1] = Content.Load<Texture2D>("crash/crash-right");

            // Load the score font
            font = Content.Load<SpriteFont>("gameFont");
            eggTextures = new[]
            {
                new []
                {
                    Content.Load<Texture2D>("Egg/0-0"),
                    Content.Load<Texture2D>("Egg/0-1"),
                    Content.Load<Texture2D>("Egg/0-2"),
                    Content.Load<Texture2D>("Egg/0-3"),
                    Content.Load<Texture2D>("Egg/0-4"),
                },
                new []
                {
                    Content.Load<Texture2D>("Egg/1-0"),
                    Content.Load<Texture2D>("Egg/1-1"),
                    Content.Load<Texture2D>("Egg/1-2"),
                    Content.Load<Texture2D>("Egg/1-3"),
                    Content.Load<Texture2D>("Egg/1-4"),
                },
                new []
                {
                    Content.Load<Texture2D>("Egg/2-0"),
                    Content.Load<Texture2D>("Egg/2-1"),
                    Content.Load<Texture2D>("Egg/2-2"),
                    Content.Load<Texture2D>("Egg/2-3"),
                    Content.Load<Texture2D>("Egg/2-4"),
                },
                new []
                {
                    Content.Load<Texture2D>("Egg/3-0"),
                    Content.Load<Texture2D>("Egg/3-1"),
                    Content.Load<Texture2D>("Egg/3-2"),
                    Content.Load<Texture2D>("Egg/3-3"),
                    Content.Load<Texture2D>("Egg/3-4"),
                }
            };

            health.Initialize(Content.Load<Texture2D>("penalty/penalty"), playerPosition);

            catchSound = Content.Load<SoundEffect>("sound/catchSound");
            crashSound = Content.Load<SoundEffect>("sound/crashSound");
            moveSounds[0] = Content.Load<SoundEffect>("sound/moveSound0");
            moveSounds[1] = Content.Load<SoundEffect>("sound/moveSound1");
            moveSounds[2] = Content.Load<SoundEffect>("sound/moveSound2");
            moveSounds[3] = Content.Load<SoundEffect>("sound/moveSound3");
            gameOverSound = Content.Load<SoundEffect>("sound/gameOverSound");
        }
Example #17
0
        protected override void Initialize()
        {
            cather = new Catcher();
            health = new Health();
            moveSounds = new SoundEffect[4];
            crushedEggTextures = new Texture2D[2];
            random = new Random();
            eggs = new List<Egg>();
            crushedEggs = new List<CrushedEgg>(5);
            kinect = new KinectManager();
            kinectStartState = kinect.StartKinect();
            highScore.Initialize();
            Restart();

            base.Initialize();
        }
Example #18
0
        private void InitAppServer()
        {
            try
            {
                Indicator.Text = "初始化MES服务器...";
                //方法一、采用当前应用程序中的【App.config】文件。
                //var bootstrap = BootstrapFactory.CreateBootstrap();

                //=>方法二、采用自定义独立【SuperSocket.config】配置文件
                var bootstrap = BootstrapFactory.CreateBootstrapFromConfigFile("SuperSocket.config");

                #region [=>自定义服务配置]
                //IServerConfig serverConfig = new ServerConfig
                //{
                //    Name = "MesServer",// "AgileServer",//服务器实例的名称
                //    ServerType = "EsayCare.MES.MesServer, EsayCare.MES",
                //    Ip = "Any",//Any - 所有的IPv4地址 IPv6Any - 所有的IPv6地址
                //    Mode = SocketMode.Tcp,//服务器运行的模式, Tcp (默认) 或者 Udp
                //    Port = int.Parse("6543"),//服务器监听的端口
                //    SendingQueueSize = 5000,//发送队列最大长度, 默认值为5
                //    MaxConnectionNumber = 5000,//可允许连接的最大连接数
                //    LogCommand = false,//是否记录命令执行的记录
                //    LogBasicSessionActivity = false,//是否记录session的基本活动,如连接和断开
                //    LogAllSocketException = false,//是否记录所有Socket异常和错误
                //    //Security = "tls",//Empty, Tls, Ssl3. Socket服务器所采用的传输层加密协议
                //    MaxRequestLength = 5000,//最大允许的请求长度,默认值为1024
                //    TextEncoding = "UTF-8",//文本的默认编码,默认值是 ASCII,(###改成UTF-8,否则的话中文会出现乱码)
                //    KeepAliveTime = 60,//网络连接正常情况下的keep alive数据的发送间隔, 默认值为 600, 单位为秒
                //    KeepAliveInterval = 60,//Keep alive失败之后, keep alive探测包的发送间隔,默认值为 60, 单位为秒
                //    ClearIdleSession = true, // 是否定时清空空闲会话,默认值是 false;(###如果开启定时60秒钟情况闲置的连接,为了保证客户端正常不掉线连接到服务器,故我们需要设置10秒的心跳数据包检查。也就是说清除闲置的时间必须大于心跳数据包的间隔时间,否则就会出现服务端主动踢掉闲置的TCP客户端连接。)
                //    ClearIdleSessionInterval = 60,//: 清空空闲会话的时间间隔, 默认值是120, 单位为秒;
                //    SyncSend = true,//:是否启用同步发送模式, 默认值: false;
                //};
                //var rootConfig = new RootConfig()
                //{

                //    MaxWorkingThreads = 5000,//线程池最大工作线程数量
                //    MinWorkingThreads = 10,// 线程池最小工作线程数量;
                //    MaxCompletionPortThreads = 5000,//线程池最大完成端口线程数量;
                //    MinCompletionPortThreads = 10,// 线程池最小完成端口线程数量;
                //    DisablePerformanceDataCollector = true,// 是否禁用性能数据采集;
                //    PerformanceDataCollectInterval = 60,// 性能数据采集频率 (单位为秒, 默认值: 60);
                //    LogFactory = "ConsoleLogFactory",//默认logFactory的名字
                //    Isolation = IsolationMode.AppDomain// 服务器实例隔离级别
                //};
                #endregion

                if (!bootstrap.Initialize())
                {
                    ShowMessage(ColorHelper.MsgRed, "Failed to initialize!");
                    return;
                }
                StartResult startResult = bootstrap.Start();
                if (startResult == StartResult.Success)
                {
                    Indicator.Visible = false;
                    this.ShowMessage(ColorHelper.MsgGreen, "服务启动成功,等待设备连接 =>");
                    mesServer = bootstrap.AppServers.Cast <MesServer>().FirstOrDefault();
                    if (mesServer != null)
                    {
                        mesServer.NewSessionConnected += MesServer_NewSessionConnected;
                        mesServer.NewRequestReceived  += MesServer_NewRequestReceived;
                        mesServer.SessionClosed       += MesServer_SessionClosed;
                    }
                    else
                    {
                        this.ShowMessage(ColorHelper.MsgRed, "请检查配置文件中是否有可用的服务信息!");
                    }
                }
                else
                {
                    this.ShowMessage(ColorHelper.MsgRed, "服务启动失败!");
                }
            }
            catch (Exception ex)
            {
                ShowMessage(ex.Message);
            }
        }
Example #19
0
        private static void RunAsConsole()
        {
            int           startTime;
            int           endTime;
            int           runTime;
            List <string> tasks = new List <string>();

            //BackgroundWorker receiveWorker;
            CheckCanSetConsoleColor();
            Console.WriteLine("Press any key to start the SuperSocket ServiceEngine!");
            Console.ReadKey();
            Console.WriteLine();
            Console.WriteLine("Initializing...");



            IBootstrap bootstrap = BootstrapFactory.CreateBootstrap();

            if (!bootstrap.Initialize())
            {
                SetConsoleColor(ConsoleColor.Red);
                Console.WriteLine("Failed to initialize SuperSocket ServiceEngine! Please check error log for more information!");
                Console.ReadKey();
            }
            else
            {
                //var socketServer = bootstrap.AppServers.FirstOrDefault(s => s.Name.Equals("SuperWebSocket")) as WebSocketServer;
                var secureSocketServer = bootstrap.AppServers.FirstOrDefault(s => s.Name.Equals("SecureSuperWebSocket")) as WebSocketServer;



                secureSocketServer.NewSessionConnected += wsServer_NewSessionConnected;

                ///////////////////////////////database load
                DataSet    dsEnrolls;
                EnrollData ed = new EnrollData();
                ed.New("./");
                dsEnrolls = EnrollData.DataModule.GetEnrollDatas();
                //////////////////////////////////

                Console.WriteLine("Starting...");
                StartResult result = bootstrap.Start();
                Console.WriteLine("-------------------------------------------------------------------");
                foreach (IWorkItem server in bootstrap.AppServers)
                {
                    //装载事件
                    WebSocketLoader.Setup(server);
                    if (server.State == ServerState.Running)
                    {
                        SetConsoleColor(ConsoleColor.Green);
                        Console.WriteLine("- {0} has been started", server.Name);
                    }
                    else
                    {
                        SetConsoleColor(ConsoleColor.Red);
                        Console.WriteLine("- {0} failed to start", server.Name);
                    }
                }
                Console.ResetColor();
                Console.WriteLine("-------------------------------------------------------------------");
                switch (result)
                {
                case StartResult.None:
                    SetConsoleColor(ConsoleColor.Red);
                    Console.WriteLine("No server is configured, please check you configuration!");
                    Console.ReadKey();
                    return;

                case StartResult.Success:
                    Console.WriteLine("The SuperSocket ServiceEngine has been started!");
                    break;

                case StartResult.PartialSuccess:
                    SetConsoleColor(ConsoleColor.Red);
                    Console.WriteLine("Some server instances were started successfully, but the others failed! Please check error log for more information!");
                    break;

                case StartResult.Failed:
                    SetConsoleColor(ConsoleColor.Red);
                    Console.WriteLine("Failed to start the SuperSocket ServiceEngine! Please check error log for more information!");
                    Console.ReadKey();
                    return;
                }

                Console.ResetColor();
                Console.WriteLine("Press key 'q' to stop the ServiceEngine.");
                ///////////////////////////////////////////////////////////////
                /////////////////////////////////////////////////////
                //////////////below test the demo :server active send the command to terminal
                string str;
                bool   i = true;
                while (i == true)
                {
                    str = Console.ReadLine();
                    switch (str)
                    {
                    case "stop":
                        i = false;
                        break;

                    case "getuserlist":
                        WebSocketLoader.getuserlist(WebSocketLoader.g_now_sn);
                        break;

                    case "getuserinfo":
                        WebSocketLoader.getuserinfo(WebSocketLoader.g_now_sn, 1, 0);
                        break;

                    case "setpwd":
                        WebSocketLoader.setuserinfo(WebSocketLoader.g_now_sn, 1, "邹春庆", 10, 0, 123456, null);
                        break;

                    case "setcard":
                        WebSocketLoader.setuserinfo(WebSocketLoader.g_now_sn, 1, "邹春庆", 11, 0, 2352253, null);
                        break;

                    case "setfp":
                        //thbio 1.0
                        // WebSocketLoader.setuserinfo(WebSocketLoader.g_now_sn, 1,"邹春庆",0, 0,0,"cb09194bbe53ba6845befe6ecd9d0272ab7b0c76bb77147a97ef9c7eb5e1a482abc7d90de8936707d2c5ce00c26c0f02139efc0720b87c0e2f48bc02cefeec0551199a06d3abe862d047a966546b7b3ae496f198f4943796db30b166f91e5ff1177be39676ecaf2793c8a696e94f601b95dc6b4b5230e3c0cd336de4a438ce82d5d6a61f197090ed0b7ffeee4b09022f(100)0100320001(3)83604024cb091a4ea6578a6a05be9e6e0d9d62722a7bcc763a77d47a94effc7e34e1c48228c7a90d0897671ed246eb02006d66040198ec1e41b8dc03ec58c4646ede3c2a9339dfa88da91ee8774389e6d6676ba08c8c70509f8cbf1a9438f3fd719f3200065bb97eeaed6e07e3d4641bc40b6a27735056b41324528bca33503745285aafd3ffa427d93bb6ff55ee9b647130022f4be30c6f(108)");
                        //thbio 3.0
                        WebSocketLoader.setuserinfo(WebSocketLoader.g_now_sn, 1, "邹春庆", 0, 0, 0, "c51a6b00d9860af9ff3e19c769889355d08fa7c958877bc1d80bb8c36b8963d2789388d51c8b0bfdf97839048b8a8c16300b6a8749884c35c0d1c9082889fc71e1640b112c898c85d95a0b8f348924a5d8d5d98b4286f4cee0480a0438887ce1d8ce09893f87d501d08a19032f893576e1080c454486b58de7c0294446897c41b0e19ba6928b7c0d1fffd744268c74b5ff79fcc4358b94e5ff33fa87a78b5d26ef7fc94b5a857b95e7c5fa42bd85fd65ff7e188336885631d905fb86a589ae3116be1fc23289de3df83bffc340876e82cfc1fd45(272)28471547254213a3263581334462457f348445f41673f191352f3328f4152540893663833243454f2f2637f9f44262(65)146bd91d1191ae92382630a18b92185203a39cb3bc061020d9b9975601b199b4bb2214709590160a32d2de924e47443320c1f8053391ce8580155431cea1456210e1c8a119163682bc800c593076b292806c056416914b1b4061aba1c23c1614349102584104dc7159514293ceb12e578443d1f0f56544c87af0(60)090b080f070c060d030a05021304120e10161718(10)8eb0");
                        break;

                    case "getname":
                        WebSocketLoader.getusername(WebSocketLoader.g_now_sn, 1);
                        break;

                    case "setname":
                        WebSocketLoader.setusername(WebSocketLoader.g_now_sn);
                        break;

                    case "deleteuser":
                        WebSocketLoader.deleteuser(WebSocketLoader.g_now_sn, 1, 13);        //0~9 :fp  10 pwd ;11: card ;12: all fp ;13 :all(fp pwd card name)
                        break;

                    case "cleanuser":
                        WebSocketLoader.cleanuser(WebSocketLoader.g_now_sn);
                        break;

                    case "getnewlog":
                        WebSocketLoader.getnewlog(WebSocketLoader.g_now_sn);
                        break;

                    case "getalllog":
                        WebSocketLoader.getalllog(WebSocketLoader.g_now_sn);
                        break;

                    case "cleanlog":
                        WebSocketLoader.cleanlog(WebSocketLoader.g_now_sn);
                        break;

                    case "initsys":
                        WebSocketLoader.initsys(WebSocketLoader.g_now_sn);
                        break;

                    case "cleanadmin":
                        WebSocketLoader.cleanadmin(WebSocketLoader.g_now_sn);
                        break;

                    case "setdevinfo":
                        WebSocketLoader.setdevinfo(WebSocketLoader.g_now_sn);
                        break;

                    case "getdevinfo":
                        WebSocketLoader.getdevinfo(WebSocketLoader.g_now_sn);
                        break;

                    case "opendoor":
                        WebSocketLoader.opendoor(WebSocketLoader.g_now_sn);
                        break;

                    case "setdevlock":
                        WebSocketLoader.setdevlock(WebSocketLoader.g_now_sn);
                        break;

                    case "getdevlock":
                        WebSocketLoader.getdevlock(WebSocketLoader.g_now_sn);
                        break;

                    case "setuserlock":
                        WebSocketLoader.setuserlock(WebSocketLoader.g_now_sn);
                        break;

                    case "getuserlock":
                        WebSocketLoader.getuserlock(WebSocketLoader.g_now_sn, 2);
                        break;

                    case "deleteuserlock":
                        WebSocketLoader.deleteuserlock(WebSocketLoader.g_now_sn, 1);
                        break;

                    case "cleanuserlock":
                        WebSocketLoader.cleanuserlock(WebSocketLoader.g_now_sn);
                        break;

                    case "reboot":
                        WebSocketLoader.reboot(WebSocketLoader.g_now_sn);
                        break;

                    case "settime":
                        WebSocketLoader.settime(WebSocketLoader.g_now_sn);
                        break;

                    case "disabledevice":
                        WebSocketLoader.disabledevice(WebSocketLoader.g_now_sn);
                        break;

                    case "enabledevice":
                        WebSocketLoader.enabledevice(WebSocketLoader.g_now_sn);
                        break;

                    ////////////////////////////////////////////for debug
                    case "uploadalluser":
                        DataTable dbEnrollTble;
                        DataRow   dbRow;
                        DataSet   dsChange;
                        bool      doubleid = false;

                        dbEnrollTble = dsEnrolls.Tables[0];

                        int startalltime = System.Environment.TickCount;
                        int errorcount   = 0;
                        WebSocketLoader.disablereturn = false;
                        WebSocketLoader.disabledevice(WebSocketLoader.g_now_sn);
                        while (!WebSocketLoader.disablereturn)
                        {
                            ;
                        }
                        WebSocketLoader.getuserlistreturn = false;
                        WebSocketLoader.userlistindex     = 0;
                        WebSocketLoader.getuserlist(WebSocketLoader.g_now_sn);
                        while (!WebSocketLoader.getuserlistreturn)
                        {
                            ;
                        }
                        int a = 0;
                        while (a < WebSocketLoader.userlistindex)
                        {
                            errorcount = 0;
getagain:
                            WebSocketLoader.getuserinfoflag = false;
                            SetConsoleColor(ConsoleColor.Green);
                            Console.WriteLine("index:" + a + "==>getuser:"******";backupnum:" + WebSocketLoader.str_userlist[a].backupnum);
                            CheckCanSetConsoleColor();
                            startTime = System.Environment.TickCount;
                            WebSocketLoader.getuserinfo(WebSocketLoader.g_now_sn, WebSocketLoader.str_userlist[a].enrollid, WebSocketLoader.str_userlist[a].backupnum);
                            while (!WebSocketLoader.getuserinfoflag && System.Environment.TickCount - startTime < 10000)
                            {
                                ;
                            }
                            if (System.Environment.TickCount - startTime >= 10000)
                            {
                                if (errorcount > 3)
                                {
                                    Console.WriteLine("error!!!!!!!!!!!!!!!!!!!");
                                    goto getend;
                                }
                                else
                                {
                                    goto getagain;
                                }
                            }

                            endTime = System.Environment.TickCount;
                            runTime = endTime - startTime;
                            SetConsoleColor(ConsoleColor.Red);
                            Console.WriteLine("time=" + runTime + "ms");
                            CheckCanSetConsoleColor();
                            ////////////////////////////save to database
                            doubleid = false;
                            foreach (DataRow dbRow1 in dbEnrollTble.Rows)
                            {
                                if ((int)dbRow1["EnrollNumber"] == WebSocketLoader.tmpuserinfo.enrollid)
                                {
                                    if ((int)dbRow1["FingerNumber"] == WebSocketLoader.tmpuserinfo.backupnum)
                                    {
                                        doubleid = true;
                                        break;
                                    }
                                }
                            }
                            if (doubleid == false)
                            {
                                dbRow = dbEnrollTble.NewRow();
                                dbRow["EnrollNumber"] = WebSocketLoader.tmpuserinfo.enrollid;
                                dbRow["FingerNumber"] = WebSocketLoader.tmpuserinfo.backupnum;
                                dbRow["Privilige"]    = WebSocketLoader.tmpuserinfo.admin;
                                dbRow["Username"]     = WebSocketLoader.tmpuserinfo.name;
                                if (WebSocketLoader.tmpuserinfo.backupnum >= 10)
                                {
                                    dbRow["Password1"] = WebSocketLoader.tmpuserinfo.password;
                                }
                                else
                                {
                                    dbRow["Password1"] = 0;
                                    dbRow["FPdata"]    = WebSocketLoader.tmpuserinfo.fpdata;
                                }
                                dbEnrollTble.Rows.Add(dbRow);
                            }
                            a++;
                            ////////////////////////////////
                        }
                        WebSocketLoader.enablereturn = false;
                        WebSocketLoader.enabledevice(WebSocketLoader.g_now_sn);
                        while (!WebSocketLoader.enablereturn)
                        {
                            ;
                        }
getend:
                        dsChange = dsEnrolls.GetChanges();
                        EnrollData.DataModule.SaveEnrolls(dsEnrolls);
                        SetConsoleColor(ConsoleColor.Red);
                        Console.WriteLine("alltimes=" + (System.Environment.TickCount - startalltime) + "ms");
                        CheckCanSetConsoleColor();
                        break;

                    case "downloadalluser":
                        int    vEnrollNumber;
                        int    vFingerNumber;
                        int    vPrivilege;
                        int    glngEnrollPData;
                        string username;
                        string fpdata;

                        errorcount   = 0;
                        startalltime = System.Environment.TickCount;
                        WebSocketLoader.disablereturn = false;
                        WebSocketLoader.disabledevice(WebSocketLoader.g_now_sn);
                        while (!WebSocketLoader.disablereturn)
                        {
                            ;
                        }
                        dbEnrollTble = dsEnrolls.Tables[0];
                        if (dbEnrollTble.Rows.Count == 0)
                        {
                            SetConsoleColor(ConsoleColor.Red);
                            Console.WriteLine("no data in database!");
                            CheckCanSetConsoleColor();
                            break;
                        }
                        Console.WriteLine("allcount=" + dbEnrollTble.Rows.Count);
                        a = 1;
                        foreach (DataRow dbRow2 in dbEnrollTble.Rows)
                        {
                            errorcount      = 0;
                            vEnrollNumber   = (int)dbRow2["EnrollNumber"];
                            vFingerNumber   = (int)dbRow2["FingerNumber"];
                            vPrivilege      = (int)dbRow2["Privilige"];
                            glngEnrollPData = (int)dbRow2["Password1"];
                            username        = (string)dbRow2["Username"];
                            fpdata          = (string)dbRow2["FPdata"];
sendagain:
                            SetConsoleColor(ConsoleColor.Green);
                            Console.WriteLine("index:" + a + ":enrollid:" + vEnrollNumber + ",backnum=" + vFingerNumber + ",name=" + username);
                            CheckCanSetConsoleColor();
                            WebSocketLoader.setuserinfoflag = false;
                            startTime = System.Environment.TickCount;
                            WebSocketLoader.setuserinfo(WebSocketLoader.g_now_sn, vEnrollNumber, username, vFingerNumber, vPrivilege, glngEnrollPData, fpdata);
                            while (!WebSocketLoader.setuserinfoflag && System.Environment.TickCount - startTime < 10000)
                            {
                                ;
                            }
                            if (System.Environment.TickCount - startTime >= 10000)
                            {
                                errorcount++;
                                if (errorcount > 3)
                                {
                                    Console.WriteLine("error!!!!!!!!!!!!!!!!!!!");
                                    goto sendend;
                                }
                                else
                                {
                                    goto sendagain;
                                }
                            }
                            endTime = System.Environment.TickCount;
                            runTime = endTime - startTime;
                            SetConsoleColor(ConsoleColor.Red);
                            Console.WriteLine("time=" + runTime + "ms");
                            CheckCanSetConsoleColor();
                            a++;
                        }
                        WebSocketLoader.enablereturn = false;
                        WebSocketLoader.enabledevice(WebSocketLoader.g_now_sn);
                        while (!WebSocketLoader.enablereturn)
                        {
                            ;
                        }
sendend:
                        SetConsoleColor(ConsoleColor.Red);
                        Console.WriteLine("alltimes=" + (System.Environment.TickCount - startalltime) + "ms");
                        CheckCanSetConsoleColor();
                        break;

                    case "cleandb":
                        EnrollData.DataModule.DeleteDB();
                        break;

                    default:
                        Console.WriteLine("can not find this command!");
                        break;
                    }
                }
                bootstrap.Stop();
                Console.WriteLine();
                Console.WriteLine("The SuperSocket ServiceEngine has been stopped!");
            }
        }
Example #20
0
        private void Form1_Load(object sender, EventArgs e)
        {
            //defaulting to Banana
            setStrings(isPotato);
            DialogResult r;

VMInit:

            while (true)
            {
                try
                {
                    vm = new VmClient();
                    Thread.Sleep(100);
                    if (!vm.Poll())
                    {
                        throw new Exception();
                    }
                    break;
                }
                catch (Exception ex)
                {
                    r = MessageBox.Show("Couldn't connect to VoiceMeeter!\nIs it running?", "Error", MessageBoxButtons.RetryCancel);
                    if (r == DialogResult.Cancel)
                    {
                        start = StartResult.VM;
                        this.Close();
                        return;
                    }
                }
            }


            while (true)
            {
                try
                {
                    ti = new TelnetConnection("localhost", 25639);
                    //hardcoding for now

                    string fileName = String.Format(@"{0}\TS_API_key", Application.StartupPath);
                    if (!File.Exists(fileName) || new FileInfo(fileName).Length == 0)
                    {
                        //this.Hide();
                        InputAuthKey inputAuthKey = new InputAuthKey();
                        inputAuthKey.ShowDialog();
                        inputAuthKey.VisibleChanged += InputAuthKey_VisibleChanged;
                    }

                    if (File.Exists(fileName))
                    {
                        TS_API_KEY = File.ReadAllText(fileName);
                    }
                    else
                    {
                        TS_API_KEY = "ERROR";
                    }


                    //TS_API_KEY = "TJP8-5MKV-B1DG-HWM2-3X6Z-Q99B";
                    ti.WriteLine("auth apikey=" + TS_API_KEY);
                    //Console.WriteLine(ti.Read());
                    break;
                }
                catch (Exception ex)
                {
                    r = MessageBox.Show("Couldn't connect to TeamSpeak!\nIs it running?", "Error", MessageBoxButtons.RetryCancel);
                    if (r == DialogResult.Cancel)
                    {
                        start = StartResult.TS;
                        this.Close();
                        return;
                    }
                }
            }



            if (!(ti.Read().Contains("error id=0 msg=ok")))
            {
                r = MessageBox.Show("Couldn't connect to TeamSpeak!\nThe API key was not accepted. Do you want to reenter it?", "Error", MessageBoxButtons.OKCancel);
                if (r == DialogResult.Cancel)
                {
                    start = StartResult.Success;
                    this.Close();
                    return;
                }
                else
                {
                    InputAuthKey inputAuthKey = new InputAuthKey();
                    inputAuthKey.ShowDialog();
                    inputAuthKey.VisibleChanged += InputAuthKey_VisibleChanged;
                }
            }
            else
            {
                Console.WriteLine("Successfully connected to TeamSpeak!");
            }

            //Get all active TeamSpeak sessions. We'll only be using the first two, but we'll query anyway in case the user has closed tabs before.

            while (true)
            {
                try
                {
                    ti.WriteLine("serverconnectionhandlerlist");
                    string     serverconnectionhandler_result = ti.Read();
                    List <int> conn = new List <int>();
                    foreach (char c in serverconnectionhandler_result)
                    {
                        if (Char.GetNumericValue(c) > 0.0)
                        {
                            conn.Add((int)Char.GetNumericValue(c));
                        }
                    }
                    TSConnection1 = conn[0];
                    TSConnection2 = conn[1];
                    break;
                }
                catch
                {
                    r = MessageBox.Show("Please confirm that you have two open TeamSpeak tabs.", "Error", MessageBoxButtons.RetryCancel);
                    if (r == DialogResult.Cancel)
                    {
                        start = StartResult.Success;
                        this.Close();
                        return;
                    }
                }
            }


            //conn.ForEach(Console.WriteLine);


            getDefaultVoiceMeeter();
        }
Example #21
0
        private static void RunAsConsole()
        {
            Console.WriteLine("Welcome to FireSinging!");

            Program.CheckCanSetConsoleColor();

            Console.WriteLine("Initializing...");

            IBootstrap bootstrap = BootstrapFactory.CreateBootstrap();

            if (!bootstrap.Initialize())
            {
                Program.SetConsoleColor(ConsoleColor.Red);

                Console.WriteLine("Failed to initialize FireSinging! Please check error log for more information!");

                Console.ReadKey();
            }
            else
            {
                Console.WriteLine("Starting...");

                StartResult startResult = bootstrap.Start();

                Console.WriteLine("-------------------------------------------------------------------");

                foreach (IWorkItem workItem in bootstrap.AppServers)
                {
                    if (workItem.State == ServerState.Running)
                    {
                        Program.SetConsoleColor(ConsoleColor.Green);

                        Console.WriteLine("- {0} has been started", (object)workItem.Name);
                    }
                    else
                    {
                        Program.SetConsoleColor(ConsoleColor.Red);

                        Console.WriteLine("- {0} failed to start", (object)workItem.Name);
                    }
                }

                Console.ResetColor();
                Console.WriteLine("-------------------------------------------------------------------");

                switch (startResult)
                {
                case StartResult.None:

                    Program.SetConsoleColor(ConsoleColor.Red);

                    Console.WriteLine("No server is configured, please check you configuration!");
                    Console.ReadKey();

                    return;

                case StartResult.Success:

                    Console.WriteLine("FireSinging has been started!");

                    break;

                case StartResult.PartialSuccess:

                    Program.SetConsoleColor(ConsoleColor.Red);

                    Console.WriteLine("Some server instances were started successfully, but the others failed! Please check error log for more information!");

                    break;

                case StartResult.Failed:

                    Program.SetConsoleColor(ConsoleColor.Red);

                    Console.WriteLine("Failed to start FireSinging! Please check error log for more information!");

                    Console.ReadKey();

                    return;
                }

                Console.ResetColor();
                Console.WriteLine("Enter key 'quit' to stop FireSinging.");

                Program.RegisterCommands();
                Program.ReadConsoleCommand(bootstrap);

                bootstrap.Stop();

                Console.WriteLine("FireSinging has been stopped!");
            }
        }
Example #22
0
        private async Task RunAsync(CancellationToken cancellationToken)
        {
            Console.WriteLine("Welcome to HL7Fuse!");
            CheckCanSetConsoleColor();
            Console.WriteLine("Initializing...");
            IBootstrap bootstrap = BootstrapFactory.CreateBootstrap();

            if (!bootstrap.Initialize())
            {
                SetConsoleColor(ConsoleColor.Red);
                Console.WriteLine("Failed to initialize HL7Fuse! Please check error log for more information!");
            }
            else
            {
                Console.WriteLine("Starting...");

                StartResult startResult = bootstrap.Start();
                Console.WriteLine("-------------------------------------------------------------------");
                foreach (IWorkItem workItem in bootstrap.AppServers)
                {
                    if (workItem.State == ServerState.Running)
                    {
                        SetConsoleColor(ConsoleColor.Green);
                        Console.WriteLine("- {0} has been started", (object)workItem.Name);
                    }
                    else
                    {
                        SetConsoleColor(ConsoleColor.Red);
                        Console.WriteLine("- {0} failed to start", (object)workItem.Name);
                    }
                }
                Console.ResetColor();
                Console.WriteLine("-------------------------------------------------------------------");
                switch (startResult)
                {
                case StartResult.None:
                    SetConsoleColor(ConsoleColor.Red);
                    Console.WriteLine("No server is configured, please check you configuration!");
                    return;

                case StartResult.Success:
                    Console.WriteLine("The HL7Fuse has been started!");
                    break;

                case StartResult.PartialSuccess:
                    SetConsoleColor(ConsoleColor.Red);
                    Console.WriteLine("Some server instances were started successfully, but the others failed! Please check error log for more information!");
                    break;

                case StartResult.Failed:
                    SetConsoleColor(ConsoleColor.Red);
                    Console.WriteLine("Failed to start the HL7Fuse! Please check error log for more information!");
                    return;
                }
                Console.ResetColor();
                Console.WriteLine("Enter key 'quit' to stop the ServiceEngine.");
                while (!cancellationToken.IsCancellationRequested)
                {
                    Trace.TraceInformation("Working");
                    await Task.Delay(10000);
                }
                Console.WriteLine("The HL7Fuse has been stopped!");
            }
        }