コード例 #1
0
        public virtual void AttachServer(SC.Interfaces.IPluginServer server)
        {
            if (license == null)
                throw new InvalidOperationException("No license assigned.");

            license.AssertValid();
            this.server = server;
            RestoreSettings();
        }
コード例 #2
0
        public virtual void AttachServer(SC.Interfaces.IPluginServer server)
        {
            if (license == null)
            {
                throw new InvalidOperationException("No license assigned.");
            }

            license.AssertValid();
            this.server = server;
            RestoreSettings();
        }
コード例 #3
0
        public virtual void DetachServer()
        {
            SaveSettings();

            this.server = null;
            if (secProvider != null)
            {
                secProvider.Cleanup();
            }
            if (license != null)
            {
                license.Invalidate();
            }
        }
コード例 #4
0
        public override void AttachServer(SC.Interfaces.IPluginServer server)
        {
            base.AttachServer(server);

            System.Net.Sockets.SocketType   sockType;
            System.Net.Sockets.ProtocolType protoType;
            if (server.Protocol == System.Net.TransportType.Tcp || server.Protocol == System.Net.TransportType.ConnectionOriented)
            {
                sockType  = System.Net.Sockets.SocketType.Stream;
                protoType = System.Net.Sockets.ProtocolType.Tcp;
            }
            else if (server.Protocol == System.Net.TransportType.Udp || server.Protocol == System.Net.TransportType.Connectionless)
            {
                sockType  = System.Net.Sockets.SocketType.Dgram;
                protoType = System.Net.Sockets.ProtocolType.Udp;
            }
            else
            {
                throw new ArgumentException("Invalid protocol specified");
            }

            socket = new System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork, sockType, protoType);

            socket.Blocking        = false;
            socket.DontFragment    = false;
            socket.EnableBroadcast = false;
            if (protoType == System.Net.Sockets.ProtocolType.Tcp)
            {
                socket.LingerState.Enabled    = false;
                socket.LingerState.LingerTime = 0;
                socket.NoDelay = true;
            }
            socket.UseOnlyOverlappedIO = false;

            socket.Connect(server.EndPoint);

            Logger.Info("Attached to server " + server.GetName());
        }
コード例 #5
0
        public virtual void DetachServer()
        {
            SaveSettings();

            this.server = null;
            if (secProvider != null)
                secProvider.Cleanup();
            if (license != null)
                license.Invalidate();
        }
コード例 #6
0
        public override void AttachServer(SC.Interfaces.IPluginServer server)
        {
            base.AttachServer(server);

            server.ProcessChanged += new SC.Interfaces.ProcessChangedEvent(server_ProcessChanged);
        }