Exemplo n.º 1
0
        static void Main()
        {
            try
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);

                ESPlus.GlobalUtil.SetMaxLengthOfUserID(byte.Parse(ConfigurationManager.AppSettings["MaxLengthOfUserID"]));
                ESPlus.GlobalUtil.SetAuthorizedUser("FreeUser", "");

                DynamicGroupManager dynamicGroupManager = new DynamicGroupManager();//视频会议房间管理、即动态组管理
                Program.RapidServerEngine.HeartbeatTimeoutInSecs = int.Parse(ConfigurationManager.AppSettings["HeartbeatTimeoutInSecs"]);
                Program.RapidServerEngine.UseAsP2PServer         = true;
                Program.RapidServerEngine.GroupManager           = dynamicGroupManager;


                Program.RapidServerEngine.SecurityLogEnabled = false;
                CustomizeInfoHandler customizeInfoHandler = new CustomizeInfoHandler();

                DynamicGroupHandler groupHandler = new DynamicGroupHandler();

                ComplexCustomizeHandler complexHandler = new ComplexCustomizeHandler(customizeInfoHandler, groupHandler);
                Program.RapidServerEngine.Initialize(int.Parse(ConfigurationManager.AppSettings["Port"]), complexHandler);
                Program.RapidServerEngine.GroupController.GroupNotifyEnabled = true;
                Program.RapidServerEngine.UserManager.RelogonMode            = ESFramework.Server.UserManagement.RelogonMode.IgnoreNew;
                groupHandler.Initialize(Program.RapidServerEngine.UserManager, Program.RapidServerEngine.CustomizeController, dynamicGroupManager);

                #region OMCS 服务器设置
                OMCS.GlobalUtil.SetMaxLengthOfUserID(byte.Parse(ConfigurationManager.AppSettings["MaxLengthOfUserID"]));
                OMCS.OMCSConfiguration config = new OMCS.OMCSConfiguration(
                    int.Parse(ConfigurationManager.AppSettings["CameraFramerate"]),
                    int.Parse(ConfigurationManager.AppSettings["DesktopFramerate"]));

                //用于验证登录用户的帐密
                OMCS.Server.DefaultUserVerifier userVerifier = new OMCS.Server.DefaultUserVerifier();
                Program.MultimediaServer = OMCS.Server.MultimediaServerFactory.CreateMultimediaServer(int.Parse(ConfigurationManager.AppSettings["OMCS_Port"]), userVerifier, config, bool.Parse(ConfigurationManager.AppSettings["SecurityLogEnabled"]));

                #endregion

                OMCS.Server.ServerForm form = new OMCS.Server.ServerForm(Program.MultimediaServer);
                form.Text = "GGMeeting视频会议系统2015-服务器";
                Application.Run(form);
            }
            catch (Exception ee)
            {
                MessageBox.Show(ee.Message);
            }
        }
Exemplo n.º 2
0
        static void Main()
        {
            try
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);

                ESPlus.GlobalUtil.SetMaxLengthOfUserID(byte.Parse(ConfigurationManager.AppSettings["MaxLengthOfUserID"]));
                ESPlus.GlobalUtil.SetAuthorizedUser("FreeUser", "");

                DynamicGroupManager dynamicGroupManager = new DynamicGroupManager();//视频会议房间管理、即动态组管理
                Program.RapidServerEngine.HeartbeatTimeoutInSecs = int.Parse(ConfigurationManager.AppSettings["HeartbeatTimeoutInSecs"]);
                Program.RapidServerEngine.UseAsP2PServer = true;
                Program.RapidServerEngine.GroupManager = dynamicGroupManager;

                Program.RapidServerEngine.SecurityLogEnabled = false;
                CustomizeInfoHandler customizeInfoHandler = new CustomizeInfoHandler();

                DynamicGroupHandler groupHandler = new DynamicGroupHandler();

                ComplexCustomizeHandler complexHandler = new ComplexCustomizeHandler(customizeInfoHandler, groupHandler);
                Program.RapidServerEngine.Initialize(int.Parse(ConfigurationManager.AppSettings["Port"]), complexHandler);
                Program.RapidServerEngine.GroupController.GroupNotifyEnabled = true;
                Program.RapidServerEngine.UserManager.RelogonMode = ESFramework.Server.UserManagement.RelogonMode.IgnoreNew;
                groupHandler.Initialize(Program.RapidServerEngine.UserManager, Program.RapidServerEngine.CustomizeController, dynamicGroupManager);

                #region OMCS 服务器设置
                OMCS.GlobalUtil.SetMaxLengthOfUserID(byte.Parse(ConfigurationManager.AppSettings["MaxLengthOfUserID"]));
                OMCS.OMCSConfiguration config = new OMCS.OMCSConfiguration(
                    int.Parse(ConfigurationManager.AppSettings["CameraFramerate"]),
                    int.Parse(ConfigurationManager.AppSettings["DesktopFramerate"]));

                //用于验证登录用户的帐密
                OMCS.Server.DefaultUserVerifier userVerifier = new OMCS.Server.DefaultUserVerifier();
                Program.MultimediaServer = OMCS.Server.MultimediaServerFactory.CreateMultimediaServer(int.Parse(ConfigurationManager.AppSettings["OMCS_Port"]), userVerifier, config, bool.Parse(ConfigurationManager.AppSettings["SecurityLogEnabled"]));

                #endregion

                OMCS.Server.ServerForm form = new OMCS.Server.ServerForm(Program.MultimediaServer);
                form.Text = "GGMeeting视频会议系统2015-服务器";
                Application.Run(form);
            }
            catch (Exception ee)
            {
                MessageBox.Show(ee.Message);
            }
        }
Exemplo n.º 3
0
        static void Main()
        {
            try
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);

                GlobalResourceManager.PreInitialize();

                //ESPlus.GlobalUtil.SetMaxLengthOfUserID(20);
                ESPlus.GlobalUtil.SetMaxLengthOfMessage(1024 * 1024 * 10);
                //OMCS.GlobalUtil.SetMaxLengthOfUserID(20);
                MainForm            mainForm      = new MainForm();
                IRapidPassiveEngine passiveEngine = RapidEngineFactory.CreatePassiveEngine();

                NDiskPassiveHandler     nDiskPassiveHandler = new NDiskPassiveHandler();                                  //V 2.0
                ComplexCustomizeHandler complexHandler      = new ComplexCustomizeHandler(nDiskPassiveHandler, mainForm); //V 2.0
                LoginForm loginForm = new LoginForm(passiveEngine, complexHandler);

                if (loginForm.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                #region 初始化OMCS
                Program.MultimediaManager = MultimediaManagerFactory.GetSingleton();
                Program.MultimediaManager.CameraDeviceIndex     = SystemSettings.Singleton.WebcamIndex;
                Program.MultimediaManager.MicrophoneDeviceIndex = SystemSettings.Singleton.MicrophoneIndex;
                Size?okSize = OMCS.Tools.Camera.MatchCameraVideoSize(SystemSettings.Singleton.WebcamIndex, GlobalConsts.CommonQualityVideo);
                Program.MultimediaManager.CameraVideoSize     = okSize == null ? new Size(320, 240) : okSize.Value;
                Program.MultimediaManager.OmcsLogger          = GlobalResourceManager.Logger;
                Program.MultimediaManager.CameraEncodeQuality = 10;
                Program.MultimediaManager.Initialize(passiveEngine.CurrentUserID, "", ConfigurationManager.AppSettings["ServerIP"], int.Parse(ConfigurationManager.AppSettings["OmcsServerPort"]));
                #endregion

                nDiskPassiveHandler.Initialize(passiveEngine.FileOutter, null);
                mainForm.Initialize(passiveEngine, loginForm.LoginStatus, loginForm.StateImage);
                Application.Run(mainForm);
            }
            catch (Exception ee)
            {
                MessageBoxEx.Show(ee.Message);
                ee = ee;
            }
        }
Exemplo n.º 4
0
        private bool Login(bool isVisitor)
        {
            //业务逻辑服务器
            this.rapidPassiveEngine.WaitResponseTimeoutInSecs = 30;
            this.rapidPassiveEngine.HeartBeatSpanInSecs       = 5;
            this.rapidPassiveEngine.SecurityLogEnabled        = false;

            groupOutter.TryP2PWhenGroupmateConnected = false;
            groupOutter.RapidPassiveEngine           = this.rapidPassiveEngine;
            DynamicGroupPassiveHandler groupPassiveHandler = new DynamicGroupPassiveHandler();

            groupPassiveHandler.Initialize(groupOutter);

            ComplexCustomizeHandler handler = new ComplexCustomizeHandler(this.customizeHandler, groupPassiveHandler);

            this.rapidPassiveEngine.SystemToken = isVisitor ? "visitor" : "member";
            LogonResponse result = this.rapidPassiveEngine.Initialize(this.userID, this.password, ConfigurationManager.AppSettings["ServerIP"], int.Parse(ConfigurationManager.AppSettings["ServerPort"]), handler);

            if (result.LogonResult != LogonResult.Succeed)
            {
                if (result.LogonResult == LogonResult.HadLoggedOn)
                {
                    MessageBox.Show("已经在其它地方登录!");
                }
                else
                {
                    MessageBox.Show("用户或者密码错误!");
                }
                return(false);
            }
            this.rapidPassiveEngine.P2PController.P2PChannelMode = ESPlus.Application.P2PSession.Passive.P2PChannelMode.Udp;
            groupOutter.Initialize(this.rapidPassiveEngine.CurrentUserID);

            //OMCS
            multimediaManager.ChannelMode                   = (OMCS.Passive.ChannelMode)Enum.Parse(typeof(OMCS.Passive.ChannelMode), ConfigurationManager.AppSettings["ChannelMode"]);
            multimediaManager.CameraDeviceIndex             = 0;
            multimediaManager.MicrophoneDeviceIndex         = int.Parse(ConfigurationManager.AppSettings["MicrophoneIndex"]);
            multimediaManager.SpeakerIndex                  = int.Parse(ConfigurationManager.AppSettings["SpeakerIndex"]);
            multimediaManager.VolumeAmplifyFactor           = 3;
            multimediaManager.AutoAdjustCameraEncodeQuality = false;
            multimediaManager.CameraEncodeQuality           = 3;
            multimediaManager.AutoReconnect                 = false;
            IList <CameraInformation> cameras = Camera.GetCameras();

            if (cameras.Count == 0 || cameras.Count < UserConfiguration.Singleton.WebcamIndex + 1)
            {
                UserConfiguration.Singleton.WebcamIndex = 0;
            }
            this.multimediaManager.CameraDeviceIndex = UserConfiguration.Singleton.WebcamIndex;
            try
            {
                string[] cameraSizeStr = ConfigurationManager.AppSettings["CameraVideoSize"].Split(',');
                multimediaManager.CameraVideoSize = new System.Drawing.Size(int.Parse(cameraSizeStr[0]), int.Parse(cameraSizeStr[1]));
            }
            catch { }
            this.multimediaManager.SecurityLogEnabled = true;
            multimediaManager.Initialize(userID, "", ConfigurationManager.AppSettings["ServerIP"], int.Parse(ConfigurationManager.AppSettings["OmcsPort"]));
            multimediaManager.OutputAudio = true;

            return(true);
        }
Exemplo n.º 5
0
        static void Main()
        {
            try
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);

                IDbPersister persister;
                if (bool.Parse(ConfigurationManager.AppSettings["UseVirtualDB"]))
                {
                    persister = new VirtualDB();
                }
                else
                {
                    var dataBaseType = (DataBaseType)Enum.Parse(typeof(DataBaseType), ConfigurationManager.AppSettings["DBType"]);
                    if (dataBaseType == DataBaseType.SqlServer)
                    {
                        persister = new RealDb(ConfigurationManager.AppSettings["DBName"], ConfigurationManager.AppSettings["DBIP"], ConfigurationManager.AppSettings["SaPwd"]);
                    }
                    else //MySQL
                    {
                        persister = new RealDb(ConfigurationManager.AppSettings["DBName"], ConfigurationManager.AppSettings["DBIP"], int.Parse(ConfigurationManager.AppSettings["DBPort"]), ConfigurationManager.AppSettings["SaPwd"]);
                    }
                }

                var globalCache = new GlobalCache(persister);

                #region 初始化ESFramework服务端引擎
                ESPlus.GlobalUtil.SetAuthorizedUser("FreeUser", "");
                ESPlus.GlobalUtil.SetMaxLengthOfUserID(20);
                ESPlus.GlobalUtil.SetMaxLengthOfMessage(1024 * 1024 * 10);

                //自定义的联系人管理器
                var contactsManager = new ContactsManager(globalCache);
                Program.RapidServerEngine.ContactsManager = contactsManager;


                var nDiskHandler   = new NDiskHandler(); //网盘处理器 V1.9
                var handler        = new CustomizeHandler();
                var complexHandler = new ComplexCustomizeHandler(nDiskHandler, handler);

                //初始化服务端引擎
                Program.RapidServerEngine.SecurityLogEnabled = false;
                Program.RapidServerEngine.Initialize(int.Parse(ConfigurationManager.AppSettings["Port"]), complexHandler, new BasicHandler(globalCache));
                Program.RapidServerEngine.ContactsController.ContactsConnectedNotifyEnabled    = false;
                Program.RapidServerEngine.ContactsController.ContactsDisconnectedNotifyEnabled = true;
                Program.RapidServerEngine.ContactsController.BroadcastBlobListened             = true; //为群聊天记录

                //初始化网盘处理器 V1.9
                var networkDiskPathManager = new NetworkDiskPathManager();
                var networkDisk            = new NetworkDisk(networkDiskPathManager, Program.RapidServerEngine.FileController);
                nDiskHandler.Initialize(Program.RapidServerEngine.FileController, networkDisk);

                //设置重登陆模式
                Program.RapidServerEngine.UserManager.RelogonMode = RelogonMode.ReplaceOld;

                //离线消息控制器 V3.2
                var offlineFileController = new OfflineFileController(Program.RapidServerEngine, globalCache);

                handler.Initialize(globalCache, Program.RapidServerEngine, offlineFileController);
                #endregion

                #region 初始化OMCS服务器
                OMCS.GlobalUtil.SetAuthorizedUser("FreeUser", "");
                OMCS.GlobalUtil.SetMaxLengthOfUserID(20);
                var config = new OMCSConfiguration();

                //用于验证登录用户的帐密
                var userVerifier = new DefaultUserVerifier();
                Program.MultimediaServer = MultimediaServerFactory.CreateMultimediaServer(int.Parse(ConfigurationManager.AppSettings["OmcsPort"]), userVerifier, config, false);

                #endregion

                #region 发布用于注册的Remoting服务
                RemotingConfiguration.Configure("GGTalk.Server.exe.config", false);
                var registerService = new Server.RemotingService(globalCache, Program.RapidServerEngine);
                RemotingServices.Marshal(registerService, "RemotingService");
                #endregion

                //如果不需要默认的UI显示,可以替换下面这句为自己的Form
                var mainForm = new MainServerForm(Program.RapidServerEngine);
                mainForm.Text = ConfigurationManager.AppSettings["SoftwareName"] + " 服务器";
                Application.Run(mainForm);
            }
            catch (Exception ee)
            {
                MessageBox.Show(ee.Message);
            }
        }