Beispiel #1
0
        public SocketListener(IListenerConfiguration configuration)
        {
            if (!(configuration is SocketConfigurationModel))
            {
                throw new Exception(string.Format("The listener for device {0} is not a socket type listener!", configuration.DeviceName));
            }

            Configuration = configuration;
            SocketConfigurationModel sc = (SocketConfigurationModel)configuration;

            Log.Info("Created file listener for device on {0}:{1}", sc.IpAddress, sc.IpPort);
            RemoteEndPoint = new IPEndPoint(IPAddress.Parse(sc.IpAddress), sc.IpPort);

            _receiver = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        }
Beispiel #2
0
        public static BaseCameraListener GetListener(Defaults defaults, PointDefinition pointDefinition)
        {
            switch (defaults.Listener)
            {
            case ListenerTypeEnum.Socket:
                switch (pointDefinition)
                {
                case PointDefinition.PointA:
                    SocketConfigurationModel pointA = new SocketConfigurationModel
                    {
                        ListenEveryMilliseconds = defaults.ListenEveryMilliseconds,
                        TimeoutInMilliseconds   = 60000,
                        IpAddress = defaults.IpAndPortA.Split(':')[0],
                        IpPort    = int.Parse(defaults.IpAndPortA.Split(':')[1])
                    };

                    return(new iCamCameraListener(new SocketListener(pointA)));

                case PointDefinition.PointB:
                    SocketConfigurationModel pointB = new SocketConfigurationModel
                    {
                        ListenEveryMilliseconds = defaults.ListenEveryMilliseconds,
                        TimeoutInMilliseconds   = 60000,
                        IpAddress = defaults.IpAndPortB.Split(':')[0],
                        IpPort    = int.Parse(defaults.IpAndPortB.Split(':')[1])
                    };

                    return(new iCamCameraListener(new SocketListener(pointB)));
                }
                break;

            case ListenerTypeEnum.Mock:
                switch (pointDefinition)
                {
                case PointDefinition.PointA:
                    MockConfigurationModel modelStart = new MockConfigurationModel
                    {
                        ListenEveryMilliseconds = defaults.ListenEveryMilliseconds,
                        TimeOffsetSecondsStart  = 0,
                        TimeOffsetSecondsEnd    = 5,
                        Seed         = 1500,
                        DeviceId     = 1,
                        DeviceName   = "Mock Device A",
                        LocationCode = "MockA"
                    };

                    return(new MockCameraListener(new MockListener(modelStart)));

                case PointDefinition.PointB:
                    MockConfigurationModel modelEnd = new MockConfigurationModel
                    {
                        ListenEveryMilliseconds = defaults.ListenEveryMilliseconds,
                        TimeOffsetSecondsStart  = 250,
                        TimeOffsetSecondsEnd    = 360,
                        Seed         = 2500,
                        DeviceId     = 2,
                        DeviceName   = "Mock Device B",
                        LocationCode = "MockB"
                    };
                    return(new MockCameraListener(new MockListener(modelEnd)));
                }
                break;

            case ListenerTypeEnum.Disk:
                switch (pointDefinition)
                {
                case PointDefinition.PointA:
                    DiskConfigurationModel pointA = new DiskConfigurationModel
                    {
                        ListenEveryMilliseconds = defaults.ListenEveryMilliseconds,
                        FilePath      = Helper.PathPointA,
                        SearchPattern = Helper.PathFilter
                    };

                    return(new iCamCameraListener(new DiskListener(pointA)));

                case PointDefinition.PointB:
                    DiskConfigurationModel pointB = new DiskConfigurationModel
                    {
                        ListenEveryMilliseconds = defaults.ListenEveryMilliseconds,
                        FilePath      = Helper.PathPointB,
                        SearchPattern = Helper.PathFilter
                    };

                    return(new iCamCameraListener(new DiskListener(pointB)));
                }
                break;
            }

            return(null);
        }