【发布时间】:2017-06-04 07:57:35
【问题描述】:
我已经使用https://www.cloudmqtt.com/ 创建了新的 MQTT 实例,下面是详细信息
下面是我使用 CloudMQTT 网站 (https://www.cloudmqtt.com/docs-dotnet.html) 上给出的 MqttDotNet 的代码。这给出了错误“无法连接到代理” 我不确定如何连接到 MQTT 连接字符串应该是如何使用用户名和密码。
using System;
using MqttLib;
namespace Sample
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Starting MqttDotNet sample program.");
Console.WriteLine("Press any key to stop\n");
Program prog = new Program(Guid.NewGuid().ToString());
prog.Start();
Console.ReadKey();
prog.Stop();
}
IMqtt _client;
Program(string clientId)
{
// string connectionString = "mqtt://m13.cloudmqtt.com:12644";
string connectionString = "mqtt://moraasdrxf:_WaY_f_sLt8Efd@m13.cloudmqtt.com:12644";
// Instantiate client using MqttClientFactory
_client = MqttClientFactory.CreateClient(connectionString, clientId, "dhiraj", "dhiraj");
// Setup some useful client delegate callbacks
_client.Connected += new ConnectionDelegate(client_Connected);
_client.ConnectionLost += new ConnectionDelegate(_client_ConnectionLost);
_client.PublishArrived += new PublishArrivedDelegate(client_PublishArrived);
}
void Start()
{
// Connect to broker in 'CleanStart' mode
Console.WriteLine("Client connecting\n");
_client.Connect(true);
}
void Stop()
{
if (_client.IsConnected)
{
Console.WriteLine("Client disconnecting\n");
_client.Disconnect();
Console.WriteLine("Client disconnected\n");
}
}
void client_Connected(object sender, EventArgs e)
{
Console.WriteLine("Client connected\n");
RegisterOurSubscriptions();
PublishSomething();
}
void _client_ConnectionLost(object sender, EventArgs e)
{
Console.WriteLine("Client connection lost\n");
}
void RegisterOurSubscriptions()
{
Console.WriteLine("Subscribing to mqttdotnet/subtest/#\n");
//_client.Subscribe("mqttdotnet/subtest/#", QoS.BestEfforts);
_client.Subscribe("dhiraj/test", QoS.BestEfforts);
}
void PublishSomething()
{
Console.WriteLine("Publishing on mqttdotnet/pubtest\n");
_client.Publish("dhiraj/test", "Hello MQTT World", QoS.BestEfforts, false);
}
bool client_PublishArrived(object sender, PublishArrivedArgs e)
{
Console.WriteLine("Received Message");
Console.WriteLine("Topic: " + e.Topic);
Console.WriteLine("Payload: " + e.Payload);
Console.WriteLine();
return true;
}
}
}
谁能帮我解决这个问题??
【问题讨论】: