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); } }
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; } }
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); }
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); } }