示例#1
0
        public void Log(string message, Tik4Net.Objects.LogLevel level)
        {
            Dictionary <string, string> parameters = new Dictionary <string, string>()
            {
                { "=message", message }
            };
            string command = "/log/" + ApiConnectorHelper.LogLevelToCommandSufix(level);

            ExecuteNonQuery(command, parameters);
        }
示例#2
0
        private void WriteCommand(string command)
        {
            LogDebug(command);
            string[] lines = command.Split('\n');
            foreach (string line in lines)
            {
                byte[] bytes  = Encoding.ASCII.GetBytes(line.ToCharArray());
                byte[] length = ApiConnectorHelper.EncodeLength(bytes.Length);

                connectionStream.Write(length, 0, length.Length);
                connectionStream.Write(bytes, 0, bytes.Length);
            }

            connectionStream.WriteByte(0); //final byte
        }
示例#3
0
        public void Open(string host, int port, string user, string password)
        {
            if (loggedOn)
            {
                throw new TikConnectorException("Already logged in");
            }
            //open connection
            connection = new TcpClient();
            connection.Connect(host, port);
            connectionStream = connection.GetStream();

            //logon
            string responseHash = ExecuteScalar("/login", null); //ExecuteAndReadResponse("/login", null, logonResponseRegex);
            string hashedPass   = ApiConnectorHelper.EncodePassword(password, responseHash);

            ExecuteNonQuery("/login",
                            new Dictionary <string, string>
            {
                { "=name", user },
                { "=response", "00" + hashedPass }
            });

            loggedOn = true;
        }