Пример #1
0
        public Client(string hostname, int port, string apTitleR, int aeQualifierR, uint pSelectorR, byte[] sSelectorR, byte[] tSelectorR,
                      string apTitleL, int aeQualifierL, uint pSelectorL, byte[] sSelectorL, byte[] tSelectorL, bool enabled, string password)
        {
            try
            {
                _hostname = hostname;
                _port     = port;

                _parameters = _connection.GetConnectionParameters();
                if (!string.IsNullOrEmpty(apTitleR) && !string.IsNullOrEmpty(aeQualifierR.ToString()))
                {
                    _parameters.SetRemoteApTitle(apTitleR, aeQualifierR);
                }
                if (!string.IsNullOrEmpty(pSelectorR.ToString()) && sSelectorR != null && tSelectorR != null)
                {
                    _parameters.SetRemoteAddresses(pSelectorR, sSelectorR, tSelectorR);
                }
                if (!string.IsNullOrEmpty(apTitleL) && !string.IsNullOrEmpty(aeQualifierL.ToString()))
                {
                    _parameters.SetLocalApTitle(apTitleL, aeQualifierL);
                }
                if (!string.IsNullOrEmpty(pSelectorL.ToString()) && sSelectorL != null && tSelectorL != null)
                {
                    _parameters.SetLocalAddresses(pSelectorL, sSelectorL, tSelectorL);
                }
                if (enabled && !string.IsNullOrEmpty(password))
                {
                    _parameters.UsePasswordAuthentication(password);
                }
            }
            catch (Exception e)
            {
                Log.Write(e, Log.Code.ERROR);
            }
        }
Пример #2
0
        public static void Main(string[] args)
        {
            IedConnection con = new IedConnection();

            string hostname;

            if (args.Length > 0)
            {
                hostname = args[0];
            }
            else
            {
                hostname = "localhost";
            }

            Console.WriteLine("Connect to " + hostname);


            try
            {
                IsoConnectionParameters parameters = con.GetConnectionParameters();

                parameters.SetRemoteAddresses(1, new byte[] { 0x00, 0x01 }, new byte[] { 0x00, 0x01, 0x02, 0x03 });

                con.ConnectTimeout = 10000;

                con.GetMmsConnection().SetLocalDetail(1200);

                con.Connect(hostname, 102);

                Console.WriteLine("Negotiated PDU size: " + con.GetMmsConnection().GetLocalDetail());

                List <string> serverDirectory = con.GetServerDirectory(false);

                foreach (string entry in serverDirectory)
                {
                    Console.WriteLine("LD: " + entry);
                }

                con.Release();
            }
            catch (IedConnectionException e)
            {
                Console.WriteLine(e.Message);
            }

            // release all resources - do NOT use the object after this call!!
            con.Dispose();
        }
Пример #3
0
        public static void Main(string[] args)
        {
            IedConnection con = new IedConnection();

            string hostname;

            if (args.Length > 0)
            {
                hostname = args[0];
            }
            else
            {
                hostname = "localhost";
            }

            Console.WriteLine("Connect to " + hostname);


            try
            {
                IsoConnectionParameters parameters = con.GetConnectionParameters();

                parameters.SetRemoteAddresses(1, 1, new byte[] { 0x00, 0x01, 0x02, 0x03 });

                con.ConnectTimeout = 10000;

                con.Connect(hostname, 102);

                List <string> serverDirectory = con.GetServerDirectory(false);

                foreach (string entry in serverDirectory)
                {
                    Console.WriteLine("LD: " + entry);
                }

                con.Release();
            }
            catch (IedConnectionException e)
            {
                Console.WriteLine(e.Message);
            }
        }