Пример #1
0
        public acWebSocketServer(SyncControl syncCtrl)
        {
            var rootConfig   = new RootConfig();
            var serverConfig = new ServerConfig
            {
                Name                = "WizFDS Server",
                Ip                  = "Any",
                Port                = 2012,
                MaxRequestLength    = 80485760,                 // 80Mb
                MaxConnectionNumber = 200,
                KeepAliveInterval   = 1,
            };

            server = new WebSocketServer();
            acWebSocketServer.syncControl = syncCtrl;
            //ctrlArray=System.Windows.Forms.Control.ControlCollection.Find("wizFdsSyncControl", true);
            //this.syncControl = (SyncControl) ctrlArray[0];

            server.NewMessageReceived  += new SessionHandler <WebSocketSession, string>(this.server_NewMessageReceived);
            server.NewSessionConnected += new SessionHandler <WebSocketSession>(this.server_NewConnection);
            server.SessionClosed       += new SessionHandler <WebSocketSession, SuperSocket.SocketBase.CloseReason>(this.server_ConnectionClosed);

            server.Setup(rootConfig, serverConfig);
            server.Start();
        }
Пример #2
0
        public void Initialize()
        {
            try
            {
                // Dll loading from resources
                string resourceName = "";
                string resource     = "";
                AppDomain.CurrentDomain.AssemblyResolve += (sender, args) =>
                {
                    resourceName = new AssemblyName(args.Name).Name + ".dll";
                    resource     = Array.Find(this.GetType().Assembly.GetManifestResourceNames(), element => element.EndsWith(resourceName));
#if DEBUG
                    ed.WriteMessage(resourceName + "\n");
                    ed.WriteMessage(resource + "\n");
#endif
                    using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resource))
                    {
                        Byte[] assemblyData = new Byte[stream.Length];
                        stream.Read(assemblyData, 0, assemblyData.Length);
                        return(Assembly.Load(assemblyData));
                    }
                };

                var ico = Properties.Resources.defaultIco;

                syncCtrl = new SyncControl();

                syncCtrl.CreateControl();
                syncCtrl.Name   = "wizFdsSyncControl";
                syncCtrl.server = new acWebSocketServer(syncCtrl);
                syncCtrl.router = new acWebSocketRouter();

#if ARX_APP
                acDoc.SendStringToExecute("TASKBAR\n0\n", true, false, true);
#endif

                //Ustawienie pojedynczego okna - ewentualnie przetrzymywać orginalną zmienną
                ed.WriteMessage("\n\nInitializing WizFDS ver. " + version);
                ed.WriteMessage("\nWizFDS sync turned on. Waiting for connection from web application ...");

                // Ribbon
                if (ComponentManager.Ribbon == null)
                {
                    //load the custom Ribbon on startup, but at this point
                    //the Ribbon control is not available, so register for
                    //an event and wait
#if ARX_APP
                    ComponentManager.ItemInitialized +=
                        new EventHandler <RibbonItemEventArgs>(ComponentManager_ItemInitialized);
#elif BRX_APP
                    //ComponentManager.ItemInitialized +=
                    //    new EventHandler<RibbonItemEventArgs>(ComponentManager_ItemInitialized);
#endif
                }
                else
                {
                    //the assembly was loaded using NETLOAD, so the ribbon
                    //is available and we just create the ribbon
                    Ribbon.Ribbon rb = new Ribbon.Ribbon();
                }
            }
            catch (System.Exception e)
            {
                ed.WriteMessage("\nWizFDS exception:" + e.ToString());
            }
        }