Ejemplo n.º 1
0
        public static void setPalyLoad4Request(PubRequest request, string message)
        {
            byte[] payload    = Encoding.Default.GetBytes(message);
            String payloadStr = Convert.ToBase64String(payload);

            request.MessageContent = payloadStr;
        }
Ejemplo n.º 2
0
        //向某一topic发布消息,注意topic,消息内容要提前进行base64编码
        private static void TestPub()
        {
            IClientProfile clientProfile = DefaultProfile.GetProfile("<your-region-id>", "<your-access-key-id>", "<your-access-key-secret>");

            DefaultAcsClient client = new DefaultAcsClient(clientProfile);

            PubRequest request = new PubRequest();

            request.ProductKey    = "<productKey>";
            request.TopicFullName = "/" + request.ProductKey + "/<deviceName>/get";

            byte[] payload    = Encoding.Default.GetBytes("Hello World.");
            String payloadStr = Convert.ToBase64String(payload);

            request.MessageContent = payloadStr;
            request.Qos            = 0;

            try
            {
                PubResponse response = client.GetAcsResponse(request);
                Console.WriteLine("publish message result: " + response.Success);
                Console.WriteLine(response.ErrorMessage);
            }
            catch (ServerException e)
            {
                Console.WriteLine(e.ErrorCode);
                Console.WriteLine(e.ErrorMessage);
            }
            catch (ClientException e)
            {
                Console.WriteLine(e.ErrorCode);
                Console.WriteLine(e.ErrorMessage);
            }
            Console.ReadKey();
        }
Ejemplo n.º 3
0
        public static PubRequest getRequest(string productKey, string deviceName, string topic)
        {
            PubRequest request = new PubRequest();

            request.ProductKey    = productKey;
            request.TopicFullName = "/" + request.ProductKey + "/" + deviceName + "/" + topic;
            request.Qos           = 0;
            return(request);
        }
Ejemplo n.º 4
0
        //向某一topic发布消息,注意topic,消息内容要提前进行base64编码
        public void TestPub()
        {
            DefaultAcsClient client = Demo.IotClient.GetClient();

            PubRequest request = new PubRequest();

            request.ProductKey    = "<productKey>";
            request.TopicFullName = "/" + request.ProductKey + "/TZCK/get";

            byte[] payload    = Encoding.Default.GetBytes("Hello World.");
            String payloadStr = Convert.ToBase64String(payload);

            request.MessageContent = payloadStr;
            request.Qos            = 0;

            PubResponse response = client.GetAcsResponse(request);

            Console.WriteLine("publish message result: " + response.Success);
            Console.WriteLine(response.ErrorMessage);
        }
Ejemplo n.º 5
0
    private string sendMessage(string deviceName, string topic, string message)
    {
        string text;

        if (lastDeviceName != deviceName || lastTopic != topic)
        {
            request        = AliApiClient.getRequest("r7gAvsuXY2Y", deviceName, topic);
            lastDeviceName = deviceName;
            lastTopic      = topic;
        }

        AliApiClient.setPalyLoad4Request(request, message);

        try
        {
            PubResponse response = client.GetAcsResponse(request);
            if (response.Success.HasValue && response.Success.Value)
            {
                text = message;
            }
            else
            {
                text = response.ErrorMessage;
            }
        }
        catch (ServerException e)
        {
            Debug.Log(e.ErrorCode);
            Debug.Log(e.ErrorMessage);
            text = e.ErrorMessage;
        }
        catch (ClientException e)
        {
            Debug.Log(e.ErrorCode);
            Debug.Log(e.ErrorMessage);
            text = e.ErrorMessage;
        }

        return(text);
    }
        /// <summary>
        /// 发送消息到设备
        /// </summary>
        /// <param name="device_productKey">产品Key</param>
        /// <param name="device_topic">设备topic</param>
        /// <param name="msgContent">消息内容</param>
        public static bool PubMsg(string device_productKey, string device_name, string msgContent)
        {
            IClientProfile   clientProfile = DefaultProfile.GetProfile(Config.regionId, Config.accessKeyId, Config.accessKeySecret);
            DefaultAcsClient client        = new DefaultAcsClient(clientProfile);

            try
            {
                byte[] bytes      = Encoding.UTF8.GetBytes(msgContent);
                string strContent = Convert.ToBase64String(bytes);

                PubRequest pub = new PubRequest();
                pub.ProductKey     = device_productKey;
                pub.MessageContent = strContent;
                pub.TopicFullName  = string.Format("/{0}/{1}/get", device_productKey, device_name);
                pub.Qos            = 0;
                PubResponse resp = client.GetAcsResponse(pub);
                return(true);
            }
            catch (Exception err)
            {
                Console.Write(err.Message);
                return(false);
            }
        }
Ejemplo n.º 7
0
 void Start()
 {
     client  = AliApiClient.getAliApiClient("LTAIRW2cXPNzAWus", "WT2zYhVbIpbv7HQfk9QVYYrK28eHjg");
     request = AliApiClient.getRequest("r7gAvsuXY2Y", "862285030043537", "test");
 }