我已在端口1883的虚拟机上安装了mosquitto代理。此虚拟机托管在azure云上。要访问此代理,我已通过添加入站规则打开了端口。但仍然无法发布到此mosquitto来自外部网络的经纪人。
我通过允许端口1883允许来自外部网络的访问来添加入站规则
string ClientId = new Guid().ToString();
client = new MqttClient("104.211.219.200", 1883, false, null);
client.Connect(ClientId);
client.Publish("local", Encoding.UTF8.GetBytes("Message from local PC"), MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE, false);
答案 0 :(得分:0)
根据您的描述,根据我的经验,我认为您的蚊子现在不起作用是由于未为VM网络接口添加NSG规则以允许来自端口1883的入站请求。
这是我在Azure Windows VM上安装mosquitto服务器的步骤。希望对您有所帮助。
启用标签Just-in-time access
中的Configuration
功能,然后下载RDP文件以访问此VM。
我遇到了一个有关缺少VCRUNTIME140.dll
的问题,然后安装了VC ++ 2015发行版安装程序(来自)来进行修复。
然后,我在mosquitto路径上打开一个命令窗口并运行它。
https://www.microsoft.com/en-us/download/details.aspx?id=48145
将入站规则添加到Windows Firewall with Advanced Security
中。它允许来自Windows上端口1883的请求。